Skip to content

2.0.0

Choose a tag to compare

@Ralex91 Ralex91 released this 22 Apr 19:37
· 44 commits to main since this release

What's Changed

This update brings major new features to Rahoot: Manager Dashboard redesign, Quiz Editor, Final Rankings, Streak tracking, and i18n support, along with some refactoring under the hood.

⚠️ Breaking Changes

  • Quiz format media in questions : The old flat fields (image, video, audio) have been replaced by a unified media object. Any existing quiz file using the old format must be migrated manually.

    Before:

    {
      "question": "What is this?",
      "image": "https://example.com/image.png"
    }

    After:

    {
      "question": "What is this?",
      "media": {
        "type": "image",
        "url": "https://example.com/image.png"
      }
    }
  • Quiz format answers is now an array : The answers field now supports multiple correct answers and has changed from a single string to an array. Any existing quiz file must be updated.

    Before:

    { "answers": "Paris" }

    After:

    { "answers": ["Paris", "paris"] }

Features

Manager Dashboard Redesign

Complete overhaul of the manager configuration page with a 3-tab layout centralizing all pre-game and post-game actions in one place.

Play tab: Select a quiz from the list and launch a game with a single click.

tab-play

Quizzes tab: Create, import (JSON file), edit or delete quizzes. Deletions require confirmation via an AlertDialog.

tab-quizz

Results tab: Browse past game sessions with their date, player count, and quiz name. Open a detailed result modal showing per-question stats and answers. Results can also be deleted.

tab-results result-modal

Quiz Editor

New interface for creating and editing quizzes with support for multiple correct answers per question, input validation, and improved error handling.

quizz-editor

Final Rankings & Results

Display of the final leaderboard with player ranks and a new PlayerFinished component for the player end-screen.

manager-end player-end

Internationalization (i18n)

Full multi-language support via i18next, with the i18n-ally VS Code extension configured to ease translation management.

Streak Tracking & Medals

Tracks each player's consecutive correct answers and displays medals on the question result screen.

streaks-badge

Refactoring

  • TanStack Router : Replaced react-router with TanStack Router using file-based routing for a more robust and fully typed navigation.
  • Server architecture : Split the monolithic Game class into PlayerManager, RoundManager, and CooldownTimer for better separation of concerns.
  • Socket & SFX constants : Socket event names and SFX file paths are now centralized in a shared common package, eliminating duplicated magic strings.

CI/CD & Tooling

  • Updated Docker actions to latest versions and added a GitHub Actions workflow for lint and format checks.
  • Added formatting scripts to each package (web, socket, common).

Documentation

  • Added contribution guidelines and GitHub issue templates (bug report, feature request).

Full Changelog: https://github.com/Ralex91/Rahoot/compare/1.2.0...2.0.0