Quizzy is a real-time, multiplayer quiz platform. Users can create and join quiz rooms, compete in teams, and answer questions against the clock.
Table of Contents
Quizzy is an interactive quiz platform designed for fun and engaging quiz sessions with friends, family, or colleagues. The website allows users to create and join quiz rooms, forming teams to compete against each other in real-time.
- Room Creation: Hosts can create quiz rooms, set a timer, determine points awarded after the buzzer is pressed, and manage the flow of the quiz.
- Teams: Users can join rooms as part of a team and collaborate to answer questions.
- Host Control: The host has full control over starting rounds, displaying questions, and revealing answers.
- Real-time Interaction: Using Socket.io, all interactions happen in real-time, ensuring a seamless and interactive experience.
- Leaderboard: A dynamic leaderboard tracks team scores and ranks them accordingly.
- Create room page: Allowing host to create rooms for with different settings for each round.
- Buzzer system: Pausing of the timer for the other teams when the buzzer is pressed and resuming when answered incorrectly.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Make sure you have the latest version of npm installed
- npm
npm install npm@latest -g
-
Clone the repo
git clone https://github.com/SathishAdithiyaaSV/Quiz-Website.git
-
Install NPM packages
npm install
-
Install MongoDB : https://www.mongodb.com/docs/manual/installation/
-
Start the backend server
cd backend nodemon server.js
-
Start the frontend
cd frontend npm run dev
Quizzy can be used to host engaging quiz sessions for various events, such as:
- Family Gatherings: Create a room, invite family members, and compete in a fun quiz session.
- Educational Purposes: Teachers can use Quizzy to conduct interactive quizzes in classrooms.
- Corporate Events: Use Quizzy for team-building activities during corporate events.
-
Login/Signup
- Create an account with a username, email and password if not already registered else login with your username and password.
-
Create a Room
- As a host, create a quiz room, create rounds add questions(text/mcq).
- You can also set the room settings(points, time, time and points after each buzz etc.) for the entire room or for individual rounds.
- Share the room link with participants.
-
Join a Room
- Participants join the room by entering the room code or by clicking the room link that is shared.
- Form teams and get ready for the quiz.
- Make sure that your teammates have also joined the room by clicking the room link that is shared or by entering the room code.
-
Start the Quiz
- The host starts the quiz, displays questions, and controls the flow of the quiz.
- Teams can press the buzzer and answer questions in real-time, and points are awarded based on correctness and when the buzzer is pressed.
-
Leaderboard
- After each question, the leaderboard updates to show team rankings.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request