This was the project we made for our distributed systems course using NodeJS along with some popular node modules. The main goal of this project was to teach ourselves how to go about building a distributed system as well as some of the challenges that arise when creating such applications. Link to video
- Concurrency: Displaying the same question to all quiz takers
- Fault Tolerance: Manage the sudden disconnections that may occur for both the quiz takers and the host
- Transparency: All quiz takers have the same quiz questions along with the same global timer for each question
- Openness: Add more available quizzes
- Socket.io: Add event-driven functionality to our application
- Express: Handle data input/output among the server and web pages
- MongoDB: Allow connection to a database to query quizzes
- Create your own unique quizzes
- No limit on the amount of users who can join a quiz session
- Displays data analytics on the various answers chosen after each question
- Timer for each question to avoid waiting for long durations
- Displays top 5 players with the highest scores at the end of each quiz session
- Top player gets an offer to host their own quiz session with the same group