Back to projects

Instant quiz app

Web app letting users take part in real-time quizzes with a leaderboard system.

Node.jsWebSocketValkey/RedisKafkaPostgreSQLReact

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.