You are on page 1of 6

Faculty of Engineering, Environment and Computing

Faculty of Computing and Information Systems


GTU304CEM: Web API Development
Coursework December 2022

ModuleTitle Ind/Group Cohort ModuleCode


Web API Development September 2022 GTU304CEM
Coursework Title: Course work 1 Hand out date:
TBD
Lecturer Due date:
Augustus Buckman TBC
EstimatedTime(hrs): Coursework type: % ofModuleMark
60
Word Limit*: 5000

Module Learning Outcomes Assessed:


LO1. Develop a secure, open-standards-based API to support server-client communication.
LO2. Create modern web content involving asynchronous data retrieval, client-side DOM manipulation,
standards adherence and user-user interaction
LO4. Design and implement an API and client based on given, non-trivial requirements using a
range of appropriate developer tools.

Coursework:
Web-based Payment Portal
Develop a web-based payment Portal for a school. This portal is to assist the school to accept
payments on its e-commerce platform. As part of your work, develop a simple e-commerce
application to utilize the Application Programming Interfaces (APIs) exposed by your payment
gateway. Your application must expose APIs that will assist the school to do the following:
 Check owed or accrued arrears of school fees or any other payment source.
 Receive Payment from clients (Students or the general public)
 Retrieve Transaction History
 Refund a Sale

The assignment is meant to test your understanding of developing a secure, open-standards-


based API to support server-client communication. Implement appropriate security to ensure
only authorized users can use your APIs.

Demonstration
Your system must be demoed to your tutor every Friday for formative feedback. The date for
the final demonstration you will be communicated in class.
Documentation
As part of your final submission, you must produce a report on your work. This should include
the following items.

i) Design
Provide a detailed design of your system with the appropriate diagram. This may include but is
not limited to Use Case Diagram, Class Diagrams, Context diagrams and Sequence Diagram

ii) Explanation
A clear explanation of the strategy used to ensure that the APIs exposed are well secured and
use the appropriate protocols. Provide detailed documentation of the request and response
information in all API calls.

iii) Development Strategy


For the development of APIs, students are requested to undertake the following strategies:
1. Frontend Design of API: Students are expected to utilize the RESTful services with a focus on request, response and security. These
RESTful services should be developed using Node JS, but other API frameworks would be allowed when the student clearly exhibits
an understanding of the framework and can explain its application within the given context.
2. Serve Side rendering: Students are expected to utilize the blueprint of RESTful service in handling client r equests and
authentication. The preferred programming environment is PHP but NodeJS would be considered.

In the development of the API, alternate libraries such as NPM repository could be used to
manage the execution of the API. But students are not encouraged to use web frameworks
such as Django, GraphQL etc.
Students are encouraged to seek to develop their own API and strategies without
depending on API frameworks.

iv) Your code


Quality criteria include;
 Indentation
 Use of white-space
 Sensible names for variables
 Use of Open-standards to develop your RESTful API

Task and Mark distribution:


1. Design an API based on requirements – 20 marks
a. Graphic User Interface of a functional web payment portal. (10 Marks)
b. Usability and accessibility of icons, text, colours etc. (10 Marks)

2. Implement a functional API according to the design - 30 marks


a. Codes submitted must be functional and performs all the operations above. (10 Marks)
b. Usage of RESTful services on both client and server sides with or without API
framework. (10 Marks)
c. Extra marks of 5 would be attractive if student exhibits API development without
implementing frameworks.
d. The implementation of authentication methods would attract extra marks. For
example, using OAuth 2 would attract 5 marks than Basic HTTP Auth, etc. (5 Marks)
e. Implementation of web APIs (5 Marks)
f. Extra marks of 5 would be awarded for encryption of data on both the client and
server-side.
g. The functionality of the portal must correspond to the interface design. In the situation
where code is not functional or does not exhibit the various transactions, the total
marks for this section would be 10 marks.

3. Documentation and Presentation – 10 marks.


a. The uniqueness of work (6 Marks).
b. Proper formatting of the document to meet Coventry standards. (2 Marks)
c. Proper construction of sentences and grammar. (2 Marks)

Notes:
1. You are expected to use the CUHarvard referencing format.
2. Please notify your registry course support team and module leader for disability support.
3. Any student requiring an extension or deferral should follow the university process.
4. The University cannot take responsibility for any coursework lost or corrupted on disks, laptops
or personal computers. Students should therefore regularly back up any work and are advised
to save it on the University system or GitHub.
5. If technical or performance issues prevent students from submitting coursework through the
online coursework submission system on the day of a coursework deadline, an appropriate
extension to the coursework submission deadline will be agreed upon.

Mark allocation guidelines to students


0-39 40-49 50-59 60-69 70+ 80+
Work mainly Most elements Most elements Strengths in all Most work All work
incomplete completed; are strong, elements exceeds the substantially
and /or weaknesses minor standard exceeds the
weaknesses in outweigh weaknesses expected standard
most areas strengths expected
Marking Rubric
GRADE Use of software engineering Project demonstration Results obtained Clarity and presentation of the report
techniques (concepts of initial system (organization, use of English)
development, system requirement
specification & user interface
specification are included here)
First Employ appropriate analytical tools and/or Present a fully-functioning working Perform competently and in addition Report is well organized and clearly
software engineering techniques. Clearly product with several original/inventive notice improvements that can be made to written. The underlying logic is clearly
≥70 demonstrates mastery of several areas of elements. Show strong effort was made in the design spec. Deliver code of articulated and easy to follow. Words are
Web API and is able to propose breaking new ground and building exceptional quality. Plan and execute chosen that precisely express the
innovative solutions to the technical excitement about the application. The thorough list of test cases. intended meaning and support reader
challenges posed by the project. demonstration techniques are imaginative comprehension. Diagrams or analyses
and effective in conveying ideas to the enhance and clarify presentation of ideas.
audience. Showing an excellent Sentences are grammatical and free from
application of API with an excellent spelling errors.
authentication system
Upper Second Employ appropriate analytical tools and/or Present a working product with support to Develop code that follows the design Report is organized and clearly written for
software engineering techniques acquired all desired functions. Offer some new spec. Develop structured code. Plan and the most part. In some areas the logic or
60-69 in the course of study to the project at information or approach about the execute list of test cases with expected flow of ideas is difficult to follow. Words
hand. Clearly demonstrate mastery of application. The demonstration techniques result specified. are well chosen with some minor
many areas of the Web API and is able to are effective in conveying main ideas. exceptions. Diagrams are consistent with
successfully complete the proposed Showing a precise application of API with the text. Sentences are mostly
project. a good authentication system grammatical and only a few spelling errors
are present but they do not hinder the
reader.
Lower Second Employ some analytical tools and/or Present a working product but some Develop code that follows the design Report is organized via topic/flow, but in
software engineering techniques acquired. desired functions are not supported or spec, but can be further improved. Plan some areas, it is difficult to follow the flow
50-59 Make progress towards addressing the malfunctioned. Simply shows how the and execute some test cases, but not of ideas. Words can be further improved.
technical challenges of the project. application works. The demonstration only covering all possible scenarios. Some diagrams are not well explained.
Complete most of the major tasks in the conveys main ideas. Showing clear Grammar errors that impede the flow of
proposed project. implementation of API system. communication.

Third Addresses most objectives of the Present a semi working product but some Develop code that does not really follows The report is organized via topic/flow, but
40-49 assessment task, with some notable desired functions are not supported or the design spec, but can be further in most areas, it is difficult to follow the
omissions. The structure is unclear in malfunctioned. Does not really shows how improved. Plan and execute some test flow of ideas. Words can be further
parts, and there is limited analysis. the application works. The demonstration cases, but not covering all possible improved. Diagrams are not well
only conveys main ideas. Without a clear scenarios and security. explained. Grammar errors impede the
implementation of an API system flow of communication.
Fail Does not make use of analytical tools The product is incomplete or does not Fail to develop code following the design The report lacks an overall organization.
and/or software engineering techniques work. Show little effort in building the spec and/or without using structure The reader has to make considerable
<40 relevant to the project. Does not application. The demonstration failed to programming techniques. Perform minimal effort to understand the underlying logic
demonstrate requisite command of the capture the interest of the audience and/or testing of own code, concentrating and flow of ideas. Diagrams are absent or
material covered in the curriculum. Unable is confusing in what was communicated. exclusively on the simplest, most obvious inconsistent with the text. Grammatical
to finish the proposed project. cases. and spelling errors make it difficult for the
reader to interpret the text in places.
Late submission 0 0 0 0

You might also like