Hermes is a real-time quiz and live polling platform for organisers who need fast room setup, reliable session control, and instant participant feedback.
Create events, build quizzes, host live sessions, let players join with a code, and watch answers and results update in real time.
- Create and manage events, quizzes, and question banks
- Host live quiz sessions with question-by-question control
- Let participants join and rejoin sessions with a lightweight flow
- Stream lobby state, answers, and results over WebSockets
- Review quiz results for both organisers and participants after a session ends
docker-compose up --buildThen open:
- App: http://localhost:3000
- API docs: http://localhost:8080/swagger-ui.html
- RabbitMQ dashboard: http://localhost:15672
docker-compose up -d postgres redis rabbitmqcd backend
./mvnw spring-boot:runcd frontend
bun install
bun run devThe frontend expects:
NEXT_PUBLIC_API_BASE_URL=http://localhost:8080NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws-hermes
Backend tests use Testcontainers for PostgreSQL, Redis, and RabbitMQ, so Docker must be running.
The project targets Java 25; if your shell defaults to another JDK, pin JAVA_HOME for the command:
cd backend
JAVA_HOME=$(/usr/libexec/java_home -v 25) ./mvnw testThe test run also generates the JaCoCo report:
open target/site/jacoco/index.htmlFor a clean rebuild with tests and coverage:
cd backend
JAVA_HOME=$(/usr/libexec/java_home -v 25) ./mvnw clean test- Backend: backend/README.md
- Frontend: frontend/README.md
- Md Hishaam Akhtar
Built for live rooms that need instant feedback.