Instant quiz app
Web app letting users take part in real-time quizzes with a leaderboard system.
Context
This project was built at EPITA, in a team of 4 students, over several weeks. The goal was to build a web app letting users take part in real-time quizzes. It let us learn to apply Clean Architecture principles and handle real-time data.
Architecture
We built a microservices architecture following Clean Architecture principles such as DDD. The backend was built in Node.js, with real-time communication over WebSocket. We used Valkey/Redis for the buzzer for its speed, Kafka for async communication between services, and PostgreSQL for data persistence. The frontend was built in React, providing a responsive, intuitive interface.
Contributions & Results
My main role on this project was developing the quiz-answers microservice. I also took part in designing the overall architecture and setting up unit and integration tests.