Learning remotely during global pandemic period is painful. Typing answers and asking questions in zoom chatroom is especially inefficient and painful. We decide to design a software to enable student ask questions remotely with organized display, to review answered questions history, and to ask questions in an organize and efficient manner.
What it does
Enable any user with google account to create a virtual room (as host) or join room (as participant) to post and answer questions.
Users under host role can create question, mark correct answer, view response distributions, and export participant responses as csv file after room closed.
Users under participant role can join room, answer questions, and export their responses (with question descriptions) as text file after exit room.
All users in the same room can join virtual chat room, post questions, and give "like" to questions. To help host user quickly spots most valuable questions, all questions posted are ordered by number of votes.
Users can view their history in the dashboard to review questions they answered for review purpose.
How we built it
We drew draft to visualize each screen activity. After agreeing on this software functionality, we divide the tasks into control logic, user interface design, and cloud data interaction when designing each activity.
Challenges we ran into
- Dynamic user interface design with nice display
- External library dependency adding
- Completely beginners to cloud data interaction
- Team members are in different time zone, making collaboration and synchronize programming difficult
Accomplishments that we're proud of
Finish all planned functionalities on time
Though in different time zones, most team members devote considerable time on this project,
For the first time design a complete project from draft
What we learned
How to interact data with firebase
How to dynamically generate UI component
How to separate data interaction, user interface, and control logic
What's next for Hacklicker
- Enable host to require participants to be within certain distance (in-person instruction demand)
- Enable host to evoke software response by voice
- Nicer user interface