Skip to content

logifex/Shahoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

Shahoot!

Shahoot! is a quiz application inspired by Kahoot. It allows users to create, host, and participate in quizzes in a fun and interactive way.

Live Demo

You can try the live version of Shahoot! here: https://shahoot.onrender.com
(The loading or login can take up to a minute because of Render's cold boot)

Features

  • Create Quizzes: Users can create custom quizzes with multiple-choice questions.
  • Host Quizzes: Start live sessions where players can join and answer questions in real time.
  • Join Quizzes: Players can join hosted sessions using a unique code.
  • Authentication: JWT-based authentication.
  • Email Verification: New users must verify their email address to activate their accounts.

Environment Variables

Create a .env file in the server directory with the following variables:

Variable Description
CLIENT_URL The URL of the client application
JWT_SECRET Secret key for signing JWT tokens
MAIL_SECRET Secret key for signing email verification tokens
MAILJET_API_KEY API key for Mailjet to send verification emails
MAILJET_API_SECRET API secret for Mailjet to send verification emails
EMAIL_ADDRESS Sender email address for verification emails
EMAIL_NAME Sender email name for verification emails

You can also change the VITE_SERVER_URL environment variable in the .env file in the client directory.

Technologies Used

  • React: Frontend
  • Express: Backend
  • Socket.IO: Sockets for the live quiz sessions
  • MongoDB: Database
  • PassportJS: Authentication
  • Mailjet: Sending verification emails

About

Interactive full stack quiz app made with React, Express and Socket.IO

Topics

Resources

Stars

Watchers

Forks

Languages