This is an individual exercise
Most projects in this course require a strong grasp of Python and Typescript. To ensure that every student can confidently contribute to their group, you are required to complete this exercise in one of these languages.
NOTE: even if your project does not involve Python or Javascript, you must still complete this primer individually and show your tutor to gain marks. This exercise is worth 1.5% of your course mark.
You can choose to either complete this exercise in Python or Typescript. You do not need to do it in both. If you would like a quick reference on either of these, you can refer to these short guides we have provided for Python and Typescript
If the link to the Typescript tutorial does not work, please refer to tutorial.js
in this repo. You can run it in your browser's console, locally, or at https://www.typescriptlang.org/play/ to quickly see outputs.
Fill in the backend found in the server
directory, The frontend is completed and does not need any modifications. You can choose to complete this in Python or Typescript. If you opt for Python, you will only need to edit server/server.py
and if you opt for Typescript, you will only need to edit server/server.js
. Follow the instructions inside that file to fill in each of the routes.
Then, run the application as per the instructions below to ensure it works. In order to achieve full marks for this exercise, you must identify one edge-case that has not been clarified in this primer and explain what design decision you made for this edge-case.
Make sure you have node
and npm
installed. The frontend can be run using npm install
in the root directory to install all node modules. Then you can run npm start
and visit localhost:3905
on your browser to view the website.
If you opted to use Python, you will need to install all requirements from requirements.txt
in the server
directory. You can use pip install -r requirements.txt
within that directory to install these. Then you can run the backend by running python server.py
which will start the backend.
If you opted to use Typescript, you will need to install all requirements in server
. Type in cd server
and then npm install
. Then, you can run the backend by running npx ts-node server.ts
which will start the backend.