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):

computer science

Description

Cardiff School of Computer Science and Informatics

Coursework Assessment Pro-forma

 

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):

 

1            If 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;

2            If 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.uk/downloads/coursework/Coversheet.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)

D_[student number].(doc/pdf)

Source Code

Compulsory

One zip (.zip) file

SC_[student 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. They’re so impressed with the work you did on their prototype website in the first assignment that they’ve 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 front-end for the system, so they need you to write one.

The code for the Library server is available at git@gitlab.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 front-end 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:

 

U1 - Add a new User to the Library system with the fields Name, Barcode and Member Type (Staff/Student).

U2 - Get a User’s details from the Library system by searching on Name or Barcode

U3 - Update a User’s Name or Member Type

U4 - Remove a User

 

B1 - Add a new Book to the Library system with the fields Title, ISBN, Authors.

B2 - Get a Book’s details by searching on Title or Author

B3 - Remove a Book

 

L1 - Loan a Book to a User (if it is not already out on Loan), specifying the Due Date

L2 - Get a list of a User’s current Loans

L3 - Get 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 front-end (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.


Related Questions in computer science category