2.0.0
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 unifiedmediaobject. 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
answersis now an array : Theanswersfield 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.
Quizzes tab: Create, import (JSON file), edit or delete quizzes. Deletions require confirmation via an AlertDialog.
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.
Quiz Editor
New interface for creating and editing quizzes with support for multiple correct answers per question, input validation, and improved error handling.
Final Rankings & Results
Display of the final leaderboard with player ranks and a new PlayerFinished component for the player end-screen.
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.
Refactoring
- TanStack Router : Replaced
react-routerwith TanStack Router using file-based routing for a more robust and fully typed navigation. - Server architecture : Split the monolithic
Gameclass intoPlayerManager,RoundManager, andCooldownTimerfor better separation of concerns. - Socket & SFX constants : Socket event names and SFX file paths are now centralized in a shared
commonpackage, 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