Web API开发代写|6003CEM Web API Development RESTful API Software Portfolio

Submission arrangement: Aula, CU GitHub, Codio

File types and method of recording:

Mark and Feedback date: 21/04/2023

Mark and Feedback method: Aula/HandIn

Module Learning Outcomes (LOs) Assessed:

Learning Outcome

1 Demonstrate systematic knowledge of the current state of the art in web technologies being deployed by mainstream businesses to create Web APIs.

3 Scope, design and implement a simple Web API to solve a given problem.

5 Understand and implement Web API security and authentication.This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to


Assessment Task

You work for a company that specialises in providing API-backed web applications to small and medium sized enterprises (SMEs) and charities. The company has several clients and a large backlog of projects which need to be completed.

You have been asked to complete ONE project either from the existing client list (below) to reduce the backlog or a demo project of your own design, to add to your company’s sales demo portfolio.

To complete the project you select, your manager has specified you do the following subtasks:

Your developed API should be populated with realistic user/resource/collection data to show it working in the demonstration and/or in the automated tests.

Marks Breakdown

For an explanation of how the marks are divided between the subtasks, see the grading rubric at the end of this document.

Project Backlog

Choose one of the following API services to develop for your project or propose your own using the form below. Some example REST resources are provided after the service names, but these are just suggestions: it is up to you to decide which resources/collections your RESTful API will provide and manage.

NB: as this is an individual portfolio project assessment, students submitting the same project will be carefully compared for similarity/possible plagiarism. Please do not share code with your classmates.


The resources managed by your REST API should have appropriate CRUD endpoints and you should aim to include middleware to ensure that appropriately structured JSON data is used in the relevant requests and responses, and to ensure that the API is secure (authentication and authorisation).

Realistic example data should be populated into all your API’s resources for the purposes of demonstration and testing.

Portfolio Submission Process

The following must be submitted for this assessment.


o Do NOT use github.com for your submission – it will not be marked, and you will receive a zero grade.

o Do NOT use personal repositories, as these are not accessible to all module staff. The repository you submit MUST be in the 6003CEM organisation.

o You will be added as a member of the organisation during the semester.


o API endpoint functionality should be demonstrated on screen using Postman or a similar HTTP request-response GUI.

o API client (i.e., SPA) functionality (if present) should be demonstrated in a browser.

o API third-party integration functionality (if present) should be demonstrated using Postman or a similar HTTP request-response GUI to confirm your own API is integrating the correct third-party data.

o API documentation and code documentation should be shown in a browser.

o API tests should be demonstrated by running them on screen and showing their output (e.g., in the Terminal or in Postman).

o URL links to your Codio environment and CU GitHub repository.

o A short (100-200 words) written summary of your RESTful API service.



All the backend services you develop should provide a Node JS based RESTful API. This must communicate with your application using the JSON data format by default, but you can provide other representations in addition, if you wish. The Node frameworks and modules you choose to build the backend are up to you: options include Koa, Express, Restify, and others.


Similarly, the choice of database integration on the backend is up to you: options include MySQL,SQLite, MongoDB, and others.


If you choose to build a web client (Task 4 above) then it should be a single page application (SPA) web client built with a framework such as React JS, Vue, Angular, etc.. In terms of visual design the CSS framework you choose, if you decide to use one, is up to you: options include React Bootstrap, Ant Design, Material UI, and others. Note that React JS and Ant Design are used in the module demonstrations.

Third-party API Integration(s)

If you choose to build a third-party API integration(s) (Task 4 above) then the external data sources chosen are up to you but should be related to your API’s functionality. For example, integrating a weather forecasting API into an events API service makes sense, but integrating it into a movie review API service less so. There are several listings of public APIs available to help you discover useful ones.

For example, https://github.com/public-apis/public-apis.

If in doubt as to the suitability of a particular framework, Node module, or DBMS please ask the Module Leader first.

The assignment will be assessed using the grading rubric. For each criteria the rubric is cumulative which means you need to achieve the lower grades before you can be awarded the higher ones. When the marks are released, you will be provided with:


24 Hour Grace Period

Extenuating Circumstances

The University has a process to follow if your personal circumstances have impacted your ability to do the assignment work. Further information can be found on the Student Portal together with an online application form which will ask you for any extenuating circumstances and evidence to support your application.

If you feel that you need to take advantage of either of these options, it’s important that you read the instructions on the student portal carefully and complete the application process at least two weeks before the original assignment deadline.