Coursework Assessment Proforma
Module Code: CMT112
Module Title: Web Application Development
Lecturer: Dr Martin Chorley
Assessment Title: Interactive Website Development
Assessment Number: 2
Date Set: 14th November 2019
Submission Date and Time: 10th January 2020 at 9:30am
Return Date: 7th February 2020
This assignment is worth 70 of the total marks available for this module. If coursework is submitted late and where there are no extenuating circumstances:
1If the assessment is submitted no later than 24 hours after the deadline, the mark for the assessment will be capped at the minimum pass mark;
2If the assessment is submitted more than 24 hours after the deadline, a mark of 0 will be given for the assessment.
Your submission must include the official Coursework Submission Cover sheet, which can be found here:
https:docs.cs.cf.ac.ukdownloadscourseworkCoversheet.pdf
Submission Instructions
The coursework submission should consist of three items: a coursework coversheet, a .zip file of the website source code, and a document describing what has been created as part of the project. More information on the deliverables is included below.
Description
Type
Name
Cover sheet
Compulsory
One PDF .pdf file
student number.pdf
Documentation
Compulsory
One document .doc.pdf
Dstudent number.docpdf
Source Code
Compulsory
One zip .zip file
SCstudent number.zip
Any code submitted will be run on a system equivalent to a University provided MSc laptop and must be submitted as stipulated in the instructions above.
Any deviation from the submission instructions above including the number and types of files submitted will result a reduction in marks for that assessment or question part of 20.
Staff reserve the right to invite students to a meeting to discuss coursework submissions
Assignment
PontyBridge University are back. Theyre so impressed with the work you did on their prototype website in the first assignment that theyve returned to the company with another project and specifically requested you work on it.
The University has bought a new backend for their Library system. This is a simple server application that allows the University to track the books that they have, the library users, and which users have borrowed which books. Unfortunately, they forgot to buy a frontend for the system, so they need you to write one.
The code for the Library server is available at gitgitlab.cs.cf.ac.uk:somerepo. You should download the code and familiarise yourself with it. Full usage instructions are included in the Readme.md file contained in the project repository.
The applications itself provides a simple server with a REST API which has the following functionality:
API endpoints:
users
books
loans
Each API endpoint accepts HTTP requests with the verbs GET, POST, PUT and DELETE.
The application also comes with an .sqlite database in which the data for the application is stored, and an ORM mapping between the database objects and JavaScript objects. Further documentation on the API server is available in the Library system source code and through the provided tests.
You are tasked with creating a frontend website that interfaces with this API to provide the library functionality requested by the University. This system will be used by the librarians to manage their library and associated data. Your front end should allow them to:
U1Add a new User to the Library system with the fields Name, Barcode and Member Type StaffStudent.
U2Get a Users details from the Library system by searching on Name or Barcode
U3Update a Users Name or Member Type
U4Remove a User
B1Add a new Book to the Library system with the fields Title, ISBN, Authors.
B2Get a Books details by searching on Title or Author
B3Remove a Book
L1Loan a Book to a User if it is not already out on Loan, specifying the Due Date
L2Get a list of a Users current Loans
L3Get the User currently borrowing a Book
API endpoints are implemented in the Server application to allow this functionality, documentation comments on each endpoint and the parameters accepted are included in the server application source code.
You are free to modify the server code as you see fit. You are also free to add additional functionality beyond that requested by the University. Alongside the final source code for your frontend and the server application if you have modified that you should submit a short document describing the functionality you have implemented. This does not need to be extensive: one or two sentences on each functional requirement, indicating how and where you have implemented the functionality is fine. You may also include screenshots showing the website functionality.
Learning Outcomes Assessed
1. Recognise the process by which webpages are delivered to users, from first browser request, through DNS lookup, serverside processing to final HTML response.
2. Create static HTML pages and apply CSS rules to style and position elements.
3. Describe, create and manipulate HTML page and element structure the Document Object Model
4. Use JavaScript and popular JavaScript libraries to add interactivity to static HTML webpages.
5. Access web APIs and data sources, retrieve, manipulate and display data.
6. Use browser debugging tools to understand performance and execution of code in the browser.
7. Assess the role of web frameworks in web application development.
Criteria for assessment
Credit will be awarded against the following criteria.
Design of the front end is not an important issue on this project, though the system is expected to present a usable interface. For this project the functionality of the system is more relevant. The general level of functionality required for each grade boundary is described below.
Pass
A frontend is created that fulfils most 80 of the functional requirements above.
The backend server code has not been significantly modified beyond that provided.
Merit
A frontend is created that fulfils all of the functional requirements above
The backend server code may have been modified to improve existing functionality or provide new functionality
Distinction
A frontend is created that fulfils all of the functional requirements above and adds additional functionality
The backend server code will have been modified to improve existing functionality or provide new functionality
Credit will be awarded against the following criteria:
ComponentContribution
Fail 049
Pass 5059
Merit 6069
Distinction 70
Functionality of Website 40
Nonefew of functional requirements met
80 of functional requirements met
All functional requirements met
Some new functions may have been added.
All functional requirements met
New, extra functionality has been added
Use of HTML, CSS, JS40
HTML structured or used incorrectly
CSS inefficient or repetitive
JavaScript does not work or is poorly implemented
HTML structured correctlyCSS used to style elementsJavaScript functional, but may be poorly writtenstructured
Semantic HTML elements used
CSS rules and selectors efficientJavaScript well written and structured
Responsive design implemented
JavaScript well written and structured.
Standards Compliance, Code Style, Commenting10
Code not validated or widespread use of obsolete or deprecated HTMLCSSJS
No effort at commenting or layout
Some effort at validation
Limited amount of nonvalidating code
Code laid out fairly consistently with some commenting
HTMLCSS validated
Code laid out consistently, comments where necessary
HTMLCSS validatedAdditional standards checked e.g. accessibility
Code laid out consistently, comments where necessary, attention paid to file content structure
Documentation
10
Code and functionality not documented
Most functionality documented.
Functionality documented
All functionality clearly documented
Feedback and suggestion for future learning
Feedback on your coursework will address the above criteria. Individual feedback and marks will be returned on 7th February via email, with further cohort feedback given by video.
Reviews
There are no reviews yet.