Ralex91 / Rahoot

Rahoot is a straightforward and open-source Kahoot! clone platform, allowing users to host it on their own server for smaller events.
MIT License
4 stars 0 forks source link
javascript kahoot kahoot-clone nextjs socket-io tailwindcss


🧩 What is this project?

Rahoot is a straightforward and open-source clone of the Kahoot! platform, allowing users to host it on their own server for smaller events.

⚠️ This project is still under development, please report any bugs or suggestions in the issues

βš™οΈ Prerequisites

πŸ“– Getting Started

  1. Clone the GitHub repository of your project.

    git clone https://github.com/Ralex91/Rahoot.git
    cd ./Rahoot
  2. Install the dependencies using your preferred package manager

    npm install



πŸ“¦ Running the Application in Production Mode:

  1. Check websocket connfiguration in config.mjs

    If you want the client to connect directly to the websocket server, edit the config.mjs file and change the localhost to your public IP address.

    export const WEBSOCKET_PUBLIC_URL = "http://1.2.3.4:3100/"
    export const WEBSOCKET_SERVER_PORT = 3100
    
    // Rest of the config ...
  2. Start the application

    npm run all

βš™οΈ Running the Application in Development Mode:

npm run all-dev

πŸ”§ Configuration

Configuration can be found in config.mjs

const QUIZZ_CONFIG = {
  password: "PASSWORD", // Manager password
  subject: "Adobe", // Subject of the quiz
  questions: [
    { // Example question
      question: "What is good answer ?", // Question
      answers: [ // Possible answers
        "No",
        "Yes",
        "No",
        "No",
      ],
      image:
        "https://images.unsplash.com/....", // Image URL (optional)
      solution: 1, // Index of the correct answer (index starts at 0)
      cooldown: 5, // Show question cooldown in seconds
      time: 15, // Time to answer in seconds
    },
    ...
  ],
}

πŸ€” How to use

πŸ“ Contributing