Check out the live demo at https://quizzer.yorrickbakker.nl/!
This application was made as an assignment for the HAN Hogeschool van Arnhem en Nijmegen in 2019. It's a pubquiz application that uses an Express-based REST API and a minimalistic React frontend. It uses the WebSocket architecture to add near-real-time functionality to the app. MongoDB is used for data storage and session recovery.
This application can be deployed with docker. You need to create a
.env.production.local
in the quizzer-client
folder and a .env
in the
quizzer-server
folder. You should base these files on the supplied templates.
After doing this, run npm run build
in quizzer-client
to create a production
build using create-react-app
. After this, you can run
docker-compose up -d --build
. The API and websocket server both run on port
3000
by default, the client runs in an nginx container on port 3001
.
A "quizmaster" can create a new room by supplying a room name and password. Pubquiz attendees can then join this quiz using a randomly generated room id and the password the quizmaster set. The quizmaster can then choose a few categories, start the round and select a fun question for the contestants to answer. The Quizzer contestants use their cell phones while the quizmaster uses a tablet. The interface is tailored to that usage, but still somewhat responsive.