Buggy Racing project

We give you the (Python) code for a basic webserver app that lets you edit the specifications of a racing buggy.

That webserver's not broken — you'll be able to get it to run — but it's very, very basic. You will make it better, and make it your own.

To start with, just try to make it work better (those are the early phases, which you must do). But then you should develop the app with a lot more features until it's not just working, but has additional features (some of which are quite sophisticated).

Tasks

The project requires you to work on a racing buggy editor: it's a Python Flask webserver you've been given, and which you develop in phases through a series of tasks.

Task list

Report & Poster

You must produce a report and a poster for the project. Make sure your buggy editor includes webpages called report and poster that contains them. You can build your report as you complete the tasks by saving texts on this race server.

Report Poster

Tech notes

The tech notes contain explanations and suggestions to help you with the project (and some of the specific tasks).

Tech notes

Submission deadline

Monday 2023-07-31 16:00

That's the submission we'll be assessing (and running) to see how you got on with your Python and webserver skills.


You can submit your project before the deadline. Don't leave it until the very last minute. Programmers know (which means: you know) that IT systems sometimes go down, disks fail, and chumps spill coffee over laptops. Build contingency into your planning so if this happens to you it's merely a problem and not a disaster.

About your zip file

Make a zip file that contains your webserver and submit that (it'll look a lot like your repo did when you cloned it: for example, it should contain app.py in the root level).

Make or rename your zip file to be your race server username with a .zip extension. For example, if your race server username is hamster, you should submit a file called hamster.zip.

Please do not include the venv or __pycache__ directories (if you have them) because they might be huge and we don't need them in the zip. If you haven't been using Git, we don't need the .git directory either. But don't worry if theses files get in anyway, we'll cope.

It's a very good idea to check that your zip file contains what you think it does. Does it seem like a reasonable size (not almost zero bytes, or not 1Gb)? If you unzip it somewhere else do you get the files you expect?