|
1 | | -# story-website |
2 | | - |
3 | | -A website for story-driven programming competitions. |
4 | | - |
5 | | -## Architecture |
6 | | - |
7 | | -### Backend |
8 | | - |
9 | | -The backend itself is written in Python (with Flask), and is made up of a couple of sections: |
10 | | - |
11 | | -- The "Advent of Code" stuff itself (in `/backend/advent`): where all of our puzzles are located. |
12 | | -- Authentication (in `/backend/auth` and `/backend/routes/auth.py`): where our login/registration/logout stuff is located. |
13 | | -- API (in `/backend/routes`): the main point of access between the frontend and backend. |
14 | | - |
15 | | -Features we want to implement: |
16 | | -[] Email verification (i.e. when we register an account, an email gets sent to the account name) |
17 | | -[] A decent puzzle architecture |
18 | | - |
19 | | -### Database |
20 | | - |
21 | | -The database is written in PostgreSQL, and the backend uses `psycopg2` in order to interact with it (so if you've done COMP3311, |
22 | | -this should be pretty familiar). The creation of tables can be found in `/database/setup.sql`. |
23 | | - |
24 | | -### Frontend |
25 | | - |
26 | | -The frontend is written in React, and we plan to have the following features: |
27 | | -[] Cleaned-up login/register/logout pages |
28 | | -[] Profile page |
29 | | -[] Leaderboard |
30 | | - |
31 | | -## How to build |
32 | | - |
33 | | -1. Download Docker Desktop and follow the instructions [here](https://docs.docker.com/desktop/windows/wsl/#download). (Assumes Windows - if you're using something else then follow instructions there) |
34 | | -2. Create the `config` folder, and put all `.env` files there. |
35 | | -3. In the main folder, run `docker-compose up --build` to make your Docker images for the first time. `--build` is not necessary when you update code later on. |
36 | | -4. If you need to add a package that doesn't already exist to the frontend, make sure to do `docker-compose down -v` first, and then do `docker-compose up --build`. |
37 | | -5. Profit |
| 1 | +# story-website |
| 2 | + |
| 3 | +A website for story-driven programming competitions. |
| 4 | + |
| 5 | +## Architecture |
| 6 | + |
| 7 | +### Backend |
| 8 | + |
| 9 | +The backend itself is written in Python (with Flask), and is made up of a couple of sections: |
| 10 | + |
| 11 | +- The "Advent of Code" stuff itself (in `/backend/advent`): where all of our puzzles are located. |
| 12 | +- Authentication (in `/backend/auth` and `/backend/routes/auth.py`): where our login/registration/logout stuff is located. |
| 13 | +- API (in `/backend/routes`): the main point of access between the frontend and backend. |
| 14 | + |
| 15 | +Features we want to implement: |
| 16 | +[] Email verification (i.e. when we register an account, an email gets sent to the account name) |
| 17 | +[] A decent puzzle architecture |
| 18 | + |
| 19 | +### Database |
| 20 | + |
| 21 | +The database is written in PostgreSQL, and the backend uses `psycopg2` in order to interact with it (so if you've done COMP3311, |
| 22 | +this should be pretty familiar). The creation of tables can be found in `/database/setup.sql`. |
| 23 | + |
| 24 | +### Frontend |
| 25 | + |
| 26 | +The frontend is written in React, and we plan to have the following features: |
| 27 | +[] Cleaned-up login/register/logout pages |
| 28 | +[] Profile page |
| 29 | +[] Leaderboard |
| 30 | + |
| 31 | +## How to build |
| 32 | + |
| 33 | +1. Download Docker Desktop and follow the instructions [here](https://docs.docker.com/desktop/windows/wsl/#download). (Assumes Windows - if you're using something else then follow instructions there) |
| 34 | +2. Create the `config` folder, and put all `.env` files there. |
| 35 | +3. In the main folder, run `docker-compose up --build` to make your Docker images for the first time. `--build` is not necessary when you update code later on. |
| 36 | +4. If you need to add a package that doesn't already exist to the frontend, make sure to do `docker-compose down -v` first, and then do `docker-compose up --build`. |
| 37 | +5. Profit |
0 commit comments