We'll have 2 different workflows
- Question management by Admin user
- Multiplayer Quiz using whatsapp bot
- Admin will need to create Questions/Answer pairs and have ability to perform CRUD actions on them.
- Questions can be grouped in Quizzes that will be sent out together to players
- Admin will have the capability to trigger a quiz , ie. set a timer for when the quiz should start
The Quiz can be broken into multiple steps :
- Player signup : Players will send a message via whatsapp to sign up before the deadline
- Quiz game : Bot will send the questions from the chosen quiz to the registered players and responses will be stored at the server side
- Leaderboard : After half an hour time limit is over, server will analyze all answers from all users for quiz and send a leaderboard to admin
- Flask :server to handle all requests from admin & users
- Twillio :for whatsapp integration
- MongoDB : for data storage
quiz_id | quiz_name | duration | questions |
---|
question_id | questions_type | question | answer | difficulty | category | created_by | timestamp |
---|
sessions_id | start_time | end_time | quiz_id | members |
---|
- Create a question
- with a quiz id
- Retrieve a question
- by question id
- by question category
- Update a question by question id
- Delete a question by question id
- Create a quiz
- Retrieve a quiz by quiz name
- Update a quiz
- Delete a quiz
- Receive registrations
- Trigger quiz
- Handle responses
- wrap up quiz
- Cumulative leaderboard
- Random quiz generators
- Similar but not equal answers.