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 websites quality, usability and security.

1   Personal Digital Portfolio as Dynamic Website

1.1   Website Implementation

● The website is to be implemented using any appropriate tools and methodologies, covered in this module, e.g. JavaScript, Python/Flask, HTML, CSS, databases, etc.

● 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 file. 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 file.

More detailed instructions will be provided in the contact sessions.

3   Report on Websites 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 websites 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 specied the criteria used for marking: