305CDE/320CT
Developing the Modern Web 2
Resit Assignment 2015
During the module you learned how to use JavaScript to develop full-stack cloud-based web applications. In this resit you are required to apply these skills to develop a simple API that uses third-party APIs plus a client to allow users to interact with it.
Deadline
The deadline for this resit assignment is Friday 29th June 23:55
Assignment Brief
You need to develop a books API plus a web app that will interact with it. This will allow the user to create an account and log in. They should then be able to enter an ISBN number and be presented with details of the book, including its cover. Any books identified in this manner will need to have their details stored in a database on the server. To achieve this you will need to make use of several APIs. You may find the following URLs helpful:
https://www.googleapis.com/books/v1/volumes?q=mongodb https://www.googleapis.com/books/v1/volumes?q=isbn:9780321995780
The RESTful API must be developed using the NodeJS platform using the JavaScript language. The client may be developed using either pure JavaScript or you may chose to use the AngularJS framework. Work submitted using other languages and/or frameworks will not be considered.
Features
The API should contain the following features:
- Theusershouldbeabletocreateanaccountandlogin
- TheusershouldbeabletoenteranISBNnumbertoretrievedetailsonthe associated book
- Theusershouldbeabletoaddthatbooktotheir‘readinglist’.
- BookdetailsassociatedwiththereadinglistshouldbestoredintheAPIusingan appropriate mechanism (filesystem, relational database, document database, graph database)
- Theusershouldbeabletoremovebooksfromtheirreadinglist
- Theusershouldbeabletoviewdetailedinformationaboutanyofthebooksin their reading list.
Video
Once you have completed the two apps you need to record a screencast showing both the API (using Postman) and the client web app working and explaining the code you used (based on the assessment rubric).
Monday, 29 June 2015
1
Submission
You will be provided with a single upload link on Moodle and will be required to submit the following:
1. AlinktotheGitLabrepositorypageforyourRESTfulAPI
2. AlinktotheGitLabrepositorypageforyourwebapp
3. Alinktotheshortvideoof6minorlessshowingustheworkingAPIandclient and explaining the important features of the code.
Permissions
You should ensure the YouTube video permissions are set to unlisted and that you have provided reporter access to the following users. Failure to do this will result in you being awarded a grade of 0:
marktyers c0lin jianhua
2
Monday, 29 June 2015
Marking Scheme
Your assignment will be marked using the following criteria. The main evidence used will be the video so ensure that all aspects listed below are clearly shown.
Monday, 29 June 2015
Version Control 10% |
If you have not provided access to your code on GitLab you will get a grade of 0. For a pass grade you need to provide access to your working code on GitLab. For the highest grades you need to show the use of the full range of Git methodologies including but not limited to branching, merging and tagging. |
Testing 10% |
If you have carried out no testing, you will get a grade of 0. |
Functionality (API) |
If your API does not work you will be awarded a grade of 0. |
Language (API) |
For a pass grade you need to show that you have used basic JavaScript constructs and understand how they work. For the highest grades you should be using a wide range of appropriate JavaScript features and modules, justifying your choices. |
Functionality (Client) |
If your web app does not work you will be awarded a grade of 0. |
Language (client) 20% |
For a pass grade you need to show that you have used basic JavaScript constructs and understand how they work. For the highest grades you should be using a wide range of appropriate JavaScript features and modules, justifying your choices. |
3