Skip to content

Latest commit

 

History

History
104 lines (73 loc) · 2.78 KB

README.md

File metadata and controls

104 lines (73 loc) · 2.78 KB


🧩 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

  • Node.js version 20 or higher

📖 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

  • Create a fork

  • Create work branch (Example: githubUsername/featureName).

  • Commit and push your changes in the work branch.

  • Open a pull request.

  • Your pull request would be merged and changes will be reflected in the main repository.