A website for story-driven programming competitions.
The backend itself is written in Python (with Flask), and is made up of a couple of sections:
- The "Advent of Code" stuff itself (in
/backend/advent): where all of our puzzles are located. - Authentication (in
/backend/authand/backend/routes/auth.py): where our login/registration/logout stuff is located. - API (in
/backend/routes): the main point of access between the frontend and backend.
Features we want to implement: [] Email verification (i.e. when we register an account, an email gets sent to the account name) [] A decent puzzle architecture
The database is written in PostgreSQL, and the backend uses psycopg2 in order to interact with it (so if you've done COMP3311,
this should be pretty familiar). The creation of tables can be found in /database/setup.sql.
The frontend is written in React, and we plan to have the following features: [] Cleaned-up login/register/logout pages [] Profile page [] Leaderboard
- Download Docker Desktop and follow the instructions here. (Assumes Windows - if you're using something else then follow instructions there)
- Create the
configfolder, and put all.envfiles there. - In the main folder, run
docker-compose up --buildto make your Docker images for the first time.--buildis not necessary when you update code later on. - If you need to add a package that doesn't already exist to the frontend, make sure to do
docker-compose down -vfirst, and then dodocker-compose up --build. - Profit