这是一篇来自英国的关于设计和实现一个简单的Web API来解决一个给定的问题的Web API开发代写
Submission arrangement: Aula, CU GitHub, Codio
File types and method of recording:
- Codio box: runnable API/client code and associated documentation.
- CU GitHub repository: all versioned code.
- Aula (HandIn): API demo video, URL links to CU GitHub repository and Codio box, short written summary of your RESTful API (100-200 words).
Mark and Feedback date: 21/04/2023
Mark and Feedback method: Aula/HandIn
Module Learning Outcomes (LOs) Assessed:
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
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:
- Design an industry standard OpenAPI Specification (OAS) document that describes and fully documents your API.
- Build a secure RESTful API using Node JS libraries, to implement your OAS design.
- Design and implement automated API endpoint tests, to verify your API works according to specification.
- Build a functional and secure web client single page application (SPA) for the API OR integrate one or more external third-party API(s) data into your own (e.g., choosing from those available at https://github.com/public-apis/public-apis).
- Showcase your API and client/integration in a demonstration video.
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.
For an explanation of how the marks are divided between the subtasks, see the grading rubric at the end of this document.
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.
- Social media platform API (e.g. users, posts, comments, likes)
- E-commerce platform API (e.g. products, categories, orders, payment)
- Calendar and scheduling API (e.g. events, reminders, attendees)
- Weather forecast API (e.g. current weather, forecast, alerts)
- News aggregator API (e.g. sources, articles, categories)
- Translation API (e.g. text, speech, languages)
- Music streaming API (e.g. songs, albums, artists, playlists)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
- Recipe search and management API (e.g. recipes, ingredients, meal plans)
- Fitness and wellness tracking API (e.g. exercise, nutrition, progress)
- Public transportation schedule and route API (e.g. buses, trains, stops)
- Movie and TV show database API (e.g. titles, cast, reviews)
- Real estate listings API (e.g. properties, agents, locations)
- Job listing and application API (e.g. jobs, resumes, applications)
- Book and literature database API (e.g. books, authors, reviews)
- Currency exchange rate API (e.g. rates, conversion)
- Public data and statistics API (e.g. GDP, population, crime)
- Image recognition and tagging API (e.g. image, labels, description)
- Video hosting and sharing API (e.g. videos, channels, comments)
- Geolocation and mapping API (e.g. maps, routes, points of interest)
- Gaming platform API (e.g. games, scores, leaderboards)
- OR your own API service idea (must be proposed to, and confirmed by, Module Leader using this form): Web API Development – Portfolio Coursework: API Service Proposal
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.
- Use the Web API Development environment set up for Coursework on https://codio.co.uk to complete all your assessed work.
- Ensure you select “Mark as Completed” on the Codio assessment when you are ready to submit your API. This sets the Codio environment to “read only”. Do this before the deadline. See
- Note: Codio features including its Plagiarism Checker and Code Playback are used to help ensure assessment integrity.
- CU GitHub
- Commit and push all code and documentation to a private repository in the 6003CEM organisation on Coventry University GitHub: https://github.coventry.ac.uk/6003CEM/
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.
- Aula HandIn
- Upload a maximum-10-minute video demonstration of your API, API client (if implemented),API integration (if implemented), API documentation, and API endpoint tests.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
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).
- Upload a text document containing:
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:
- A breakdown of marks you received for each part of the rubric.
- Feedback explaining this decision indicating why you missed the higher grade.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
24 Hour Grace Period
- To accommodate any last-minute technical difficulties or changes to personal circumstances,the University will automatically accept any submissions made up to 24 hours after the deadline without penalty. There is no need to complete an extension request form if you submit within this timeframe. ·
- You may submit draft assessments up to the deadline to receive an originality report from Turnitin, however the most recent submission will be accepted as final once the deadline has passed.
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.
- An extension normally grants you some additional days to complete the assignment.
- A deferral means you will need to complete a new assignment to be submitted at the next assessment point, typically the following semester.
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.
本网站支持 Alipay WeChatPay PayPal等支付方式
E-mail: firstname.lastname@example.org 微信号:vipnxx