Student Assignment Brief
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website. If you require this document in an alternative format, please contact your Module Leader.
• Assignment Information
• Assignment Task
• Marking and Feedback
• Assessed Module Learning Outcomes
• Assignment Support and Academic Integrity
• Assessment Marking Criteria
The work you submit for this assignment must be your own independent work, or in the case of a group assignment your own groups’ work. More information is available in the ‘Assignment Task’ section of this assignment brief.
Assignment Information
Module Name: Web API Development
Module Code: 6003CEM
Assignment Title: RESTful API Software Portfolio Assignment Due: 5th April, 2024, 18:00 GMT Assignment Credit: 15
Word Count (or equivalent): 200 Assignment Type: Coursework
Percentage Grade (Applied Core Assessment). You will be provided with an overall grade between 0% and 100%. You have one opportunity to pass the assignment at or above 40%.
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website.
Page 1 of 7
浙大学霸代写 加微信 cstutorcs
Assignment 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:
1. Design an industry standard OpenAPI Specification (OAS) document that describes and fully documents your API.
2. Build a secure RESTful API using Node JS libraries, to implement your OAS design.
3. Design and implement automated API endpoint tests, to verify your API works according to
specification.
4. Build a functional and secure web client single page application (SPA) for the API.
5. 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.
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.
1. Social media platform API (e.g. users, posts, comments, likes)
2. E-commerce platform API (e.g. products, categories, orders, payment)
3. Calendar and scheduling API (e.g. events, reminders, attendees)
4. Weather forecast API (e.g. current weather, forecast, alerts)
5. News aggregator API (e.g. sources, articles, categories)
6. Translation API (e.g. text, speech, languages)
7. Music streaming API (e.g. songs, albums, artists, playlists)
8. Recipe search and management API (e.g. recipes, ingredients, meal plans)
9. Fitness and wellness tracking API (e.g. exercise, nutrition, progress)
10. Public transportation schedule and route API (e.g. buses, trains, stops)
11. Movie and TV show database API (e.g. titles, cast, reviews)
12. Real estate listings API (e.g. properties, agents, locations)
13. Job listing and application API (e.g. jobs, resumes, applications)
14. Book and literature database API (e.g. books, authors, reviews)
15. Currency exchange rate API (e.g. rates, conversion)
16. Public data and statistics API (e.g. GDP, population, crime)
17. Image recognition and tagging API (e.g. image, labels, description)
18. Video hosting and sharing API (e.g. videos, channels, comments)
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website.
Page 2 of 7
19. Geolocation and mapping API (e.g. maps, routes, points of interest)
20. Gaming platform API (e.g. games, scores, leaderboards) OR your own API service idea (must
be proposed to, and confirmed by, Module Leader)
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.
Submission Instructions:
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 https://docs.codio.com/students/courses/complete-assignment.html
• Note: Codio features including its Plagiarism Checker and Code Playback are used to help ensure assessment integrity.
2. CU GitHub
• Commit and push all code and documentation to a private repository on Coventry University GitHub and then add the module leader as a collaborator
• Do NOT use github.com for your submission – it will not be marked, and you will receive a zero grade.
• If the module leader cannot access your repository, you will receive a zero grade. 3. 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.
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 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 200-words written summary of your RESTful API service.
Constraints
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website.
Page 3 of 7
Code Help
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. You should use the Koa Node JS framework to build the backend. However, if you wish to use other frameworks, please discuss it with your module leader.
You should use MySQL or MongoDB for your database. The use of any other databases systems should be discussed with the module leader beforehand.
For your frontend, it should be a ReactJS single page application (SPA) web client. If you wish to use a different framework, you should discuss this with the module leader beforehand.
Marking and Feedback
How will my assignment be marked?
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.
How will I receive my grades and feedback?
When the marks are released, you will be provided with:
1. A breakdown of marks you received for each part of the rubric.
2. Feedback explaining this decision indicating why you missed the higher grade.
What will I be marked against?
Details of the marking criteria for this task can be found at the bottom of this assignment brief.
Assessed Module Learning Outcomes
The Learning Outcomes for this module align to the marking criteria which can be found at the end of this brief. Ensure you understand the marking criteria to ensure successful achievement of the assessment task. The following module learning outcomes are assessed in this task:
1. Demonstrate systematic knowledge of the current state of the art in web technologies being deployed by mainstream businesses to create Web APIs.
2. Scope, design and implement a simple Web API to solve a given problem.
3. Understand and implement Web API security and authentication.
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website.
Page 4 of 7
Assignment Support and Academic Integrity
If you have any questions about this assignment please see the Student Guidance on Coursework for more information.
Spelling, Punctuation, and Grammar:
You are expected to use effective, accurate, and appropriate language within this assessment task.
Academic Integrity:
The work you submit must be your own, or in the case of groupwork, that of your group. All sources of information need to be acknowledged and attributed; therefore, you must provide references for all sources of information and acknowledge any tools used in the production of your work, including Artificial Intelligence (AI). We use detection software and make routine checks for evidence of academic misconduct.
Definitions of academic misconduct, including plagiarism, self-plagiarism, and collusion can be found on the Student Portal. All cases of suspected academic misconduct are referred for investigation, the outcomes of which can have profound consequences to your studies. For more information on academic integrity please visit the Academic and Research Integrity section of the Student Portal.
Support for Students with Disabilities or Additional Needs:
If you have a disability, long-term health condition, specific learning difference, mental health diagnosis or symptoms and have discussed your support needs with health and wellbeing you may be able to access support that will help with your studies.
If you feel you may benefit from additional support, but have not disclosed a disability to the University, or have disclosed but are yet to discuss your support needs it is important to let us know so we can provide the right support for your circumstances. Visit the Student Portal to find out more.
Unable to Submit on Time?
The University wants you to do your best. However, we know that sometimes events happen which mean that you cannot submit your assessment by the deadline or sit a scheduled exam. If you think this might be the case, guidance on understanding what counts as an extenuating circumstance, and how to apply is available on the Student Portal.
Administration of Assessment
Assignment Category: Portfolio
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It must not be passed to third parties or posted on any website.
Page 5 of 7
Attempt Type: Main attempt Component Code: Coursework
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It should not be passed to third parties or posted on any website.
Page 6 of 7
Programming Help, Add QQ: 749389476
Assessment Marking Criteria
Mark allocation guidelines for: RESTful API Full Stack Software Portfolio. Evidence used for grade allocations: demonstration video, runnable API/documentation/client application, GitHub code repositories.
This document is intended for Coventry University Group students for their own use in completing their assessed work for this module. It should not be passed to third parties or posted on any website.
Page 7 of 7