Skip to content

alanansari/buzzr

Repository files navigation

Banner

BUZZR

Check the Website here.

Check the websocket server repository here.

TABLE OF CONTENTS

Launch Video

LAUNCH VIDEO HERE

About the project

Welcome to Buzzr, where learning meets excitement! Join live quiz battles, create personalized challenges, and connect with peers in real-time. Buzzr offers an engaging learning experience for users of all levels. Create an account, customize your profile, and dive into the world of quizzes today. Get ready to buzz with excitement on Buzzr!

Tech Stack Used

Next JS TailwindCSS Prisma Supabase Redis TypeScript

Key Features ✨

  • User Authentication: Secure Google OAuth Sign In system using Next-Auth.

  • Quiz Creation: Create new buzzrs(quizzes) and add questions to it.

  • Create Quiz by AI: Powered by Gemini, this feature lets you create a whole quiz and all its question via a prompt.

  • Host a Buzzr: Host a new Game Session for the quiz.

  • Real-time Updates: Get Realtime player and presenter interations.

  • Player Management: Manage players in a game through presenter, system to kick unwanted players.

  • Leaderboard: See the leaderboard after each question round.

Running the Project

  1. Clone the repository:
git clone https://github.com/alanansari/buzzr.git

To run the server, you need to have NodeJS installed on your machine. If you don't have it installed, you can follow the instructions here to install it.

  1. Install the dependencies:
npm install
  1. Setup .env file in base directory:
NEXTAUTH_URL = "http://localhost:3000"
NEXTAUTH_SECRET = "<random_string>"

GOOGLE_CLIENT_ID = ""
GOOGLE_CLIENT_SECRET = ""

DATABASE_URL="<supabase_db_uri>"
DIRECT_URL="<supabase_direct_uri>"

UPSTASH_REDIS_URL=""
UPSTASH_REDIS_TOKEN=""

NEXT_PUBLIC_SOCKET_URL="<websocket_server_url>"

RATELIMIT="<ON/OFF>"
  1. Connect to the Server for websockets:

  2. Run on localhost:

npm run dev

You can access the endpoints from your web browser following this url

http://localhost:3000