Skip to content

SathishAdithiyaaSV/Quiz-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Quizzy

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Acknowledgments

About The Project

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.

Key Features

  • 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.

(back to top)

Built With

  • React

  • Tailwind

  • Nodejs

  • Express

  • Socket.io

(back to top)

Challenges Encountered

  • 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.

(back to top)

Getting Started

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.

Prerequisites

Make sure you have the latest version of npm installed

  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo

    git clone https://github.com/SathishAdithiyaaSV/Quiz-Website.git
  2. Install NPM packages

    npm install
  3. Install MongoDB : https://www.mongodb.com/docs/manual/installation/

  4. Start the backend server

    cd backend
    nodemon server.js
  5. Start the frontend

    cd frontend
    npm run dev

(back to top)

Usage

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.

Example

  1. Login/Signup

    • Create an account with a username, email and password if not already registered else login with your username and password.
  2. 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.
  3. 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.
  4. 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.
  5. Leaderboard

    • After each question, the leaderboard updates to show team rankings.

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages