IS52027C Resit Coursework Brief (Summer 2018)
Deadline: 17:00PM 10th August 2018
If you are unsure whether you should be retaing the coursework element of the module, please check with department admin (firstname.lastname@example.org).
Part 1: Design and implement a MySQL database backend
- Clone or pull latest changes from the term 1 lab extercises repo: git clone email@example.com:data-networks-web/lab-exercises.git OR cd lab-exercises git pull origin master
- Inside you will find a new directory, resit-app, inside which is the code for a simple hangman game app.
- A live demo of the application can be found here: http://www.doc.gold.ac.uk/usr/111/cgi-bin/splash.py (let Sorrel know if it goes down!)
Your first task is to implement a MySQL backend for the app and deploy a working version on Igor.
- Look at the hangman application code to figure out what tables need to be created, and what fields they should have
- Create the database and insert some dummy data
- Hook the database up to the application code (CLUE: edit cgi_bin/config.py)
Note: You may complete Part 1 without editing any of the application code apart from the config.py script. However, you are not prohibited from editing it.
Part 2: Second iteration
In this part of the coursework, you should develop this application a stage further.
- It is up to you what improvements you make to the application, but they should constitute an improvement.
- Improvements may be new functionality, or improved engineering of the existing app.
- Some suggestions are:
- Develop the leaderboard view. Perhaps this will involve using a template engine such as Jinja?
- Add (or start adding) login functionality so that the same player needn't always play
- Develop the architecture. This might involve adopting an app framework such as flask
- Make sure your ``improved'' version of the app is deployed on a Virtual Server and set to run continuously
You will probably find the Term 2 materials most helpful in this part of the assignment.
- You should submit your new version of the hangman application as a Gitlab repo (hint: create a new project on Gitlab and copy the files to it. Refer to the Lab Exercises Wiki if you need reminding how to add and commit files).
- You should ensure a working copy of the complete application is deployed on a Virtual Server, and that the URL is included in the app README file on Gitlab.
- Also in your README, include a brief explanation of the changes you've made in response to Part 2.
- Make sure that Sorrel Harriet and Dan McQuillan both have access to your repo. You do this from the Gitlab project dashboard under settings > members.
If you are uncertain about any of the above, please get in touch! The deadline for submisisons is 17:00 PM August 10th 2018.