CMT120 Fundamentals of Programming
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Fundamentals of Programming
Web Application Development
For this coursework, you are asked to:
1. Implement a personal digital portfolio in the form of a dynamic website, which showcases your competences, skills and expertise, e.g. your technical skills, work produced to date, previous work experience, etc. - the choice of what you want to cover it’s up to you, but make sure you cover a reasonable range of these.
2. Record a short 3-min demo of your website.
3. Write a report to evaluate your website’s quality, usability and security.
1 Personal Digital Portfolio as Dynamic Website
1.1 Website Implementation
● The majority of your website content must be ’dynamic’, i.e. appropriate data and content are pulled from/pushed to a database.
- Examples of dynamic content include, but are not limited to: interaction with the user (e.g. user comments or rating), user accounts, automatically
generated web pages.
- You can employ any type of database system/service.
● Use of external libraries, extensions and APIs is allowed, e.g. Flask-WTF,
Flask-Security, Bootstrap. However, the ﬁnal code must be authored by you. You are reminded of the need to comply with Cardiff University’s Student Guide to Academic Integrity. If you use external resources, you must provide complete references, e.g. as in-line comments in your code, and/or in README .md ﬁle. Evidence of unfair practice will be penalised.
● Use of the code you developed when working on the lab exercises for this module is allowed.
● Although it’s advisable to use the university laptop, you can use your own computer to implement your website. However, you must use School-based systems and servers for hosting ’dynamic’ parts of your website, e.g. database for content and user accounts, deployment server. The use of external services for these elements is not allowed.
● Complete code of your website must be submitted to COMSC’s GitLab server (https://git.cardiff.ac.uk/) and shared with the module lecturers - complete instructions on how to do it are given in ’Submission Instructions’ section below.
1.2 Structure and Functionality of the Website
You are free to choose how to structure your website, and what functionality to implement, bearing in mind that appropriate advanced functionality will attract higher marks - see ’Criteria for assessment’ section below.
1.3 Deployment of Website
The expectation is that initially you will be implementing and deploying your website on localhost. Deployment of your website on a localhost will allow for a mark up to a ’Pass’ for the website implementation part. To obtain a higher mark, your website needs to be deployed on COMSC’s OpenShift server - see ’Criteria for assessment’ section. The process is described in ’Flask 4: Deployment on OpenShift’ lab sheet and is demonstrated in the practical session. Make sure you state the correct URL in your REAMDE .md submitted in your git repository on GitLab and in your report. If this is missing or incorrect, it will be assumed that you have not deployed your website on OpenShift.
2 Video Demo of the Website
Record a short video demo of maximum 3 minutes, which demonstrates the functionality you implemented on your website.
If you have successfully deployed your website on OpenShift, you should clearly demonstrate you are running your website using the URL you submitted in your REAMDE.md ﬁle.
More detailed instructions will be provided in the contact sessions.
3 Report on Website’s Security, Quality and Usability
Write a report of 800 words (± 10%), in which you critically appraise TWO examples from your website implementation that demonstrate your appreciation of best practice in security, quality and usability (choose any two).
The front page of your report must contain:
● Your student number
● URL of your website on OpenShift (if deployed)
Your report must also include two appendices at the end of your report:
● Appendix A: list of advanced functionality you have implemented;
● Appendix B: screenshots of all of your website’s pages.
Learning Outcomes Assessed
● LO3: Develop secure web applications that make use of database technologies
● LO4: Critically appreciate the role of security, quality and usability within software projects
Criteria for assessment
The below table speciﬁed the criteria used for marking: