Starting from:

$29.99

Web Computing Architectures: Assignment 1

SENG365 Web Computing Architectures:
Assignment 1 Implement API with Web Service
Version 1.0, 
1 Summary of submission requirements

Items to submit: Submit assignment through the specified eng-git project.
% of overall grade: 25% of the course grade
2 Objectives
The objective of this assignment is to implement a RESTful API for an auction website (think
TradeMe or eBay). You will be provided with the API specification that you must implement,
together with a database specification. You will also be allocated a project repo on the
SENG365 eng-git server that you will use to maintain your application and submit your code.
Assignments 1 and 2 combine to give you the full experience of building a complete web
application following an API-first approach. The lectures and labs in term 1 will give you the
tools you’ll need to implement a web service to deliver the event API in Assignment 1. In
term 2, you’ll design and develop a web client for Assignment 2 that uses the API to allow
users to actually to create and signup for events.
We’ll discuss the domain and the API design for both assignments in the first few weeks
of the semester.
3 Additional information on the application
Information is provided on Learn relating to:
• The API specification for Assignment 1, and
• (In due course) A set of user stories for Assignment 2.
On eng-git, you will be provided with:
• A student-specific repository, containing a basic application and API specification,
• A set of Postman tests to test your server-side application in a local environment.
4 Required technologies
For this assignment, you must use Node.js with Express, and use the version levels that are
used in the labs. You must also use the SENG365-specific MySQL database server (you will
be provided with an account and database). You may choose to use additional node
packages, depending on your implementation, provided these packages are sourced from a
recognized public node package repository (so that we can also install them), and these
packages do not break dependencies on the Node.js and Express versions in the labs.
You do not have to develop your applications only in the labs, you may use your own
computing resources. You must maintain your source code under eng-git1 Git version
control and submit the final version to eng-git.
Your application must deploy and run successfully in the lab environment.
5 Indicative criteria used in the assessment
This assignment is all about correctness and meeting expectations for the API. Your
creativity should be directed towards a clean and accurate implementation.
Among other things, we’ll be looking for:
1. The proportion of the API that you’ve implemented correctly; and
2. Appropriate handing of error conditions; and
3. Effectiveness of your implementation of the authentication and authorization
requirements (as defined in the API specification).
Regardless of technology though there are some things your API implementation must do
(“It’s not just about the features.” ™):
1. It must run in the lab environment.
2. It must NOT modify the provided implementation of the \backdoor endpoints.
3. It must successfully authenticate users.
4. It must be persistent. We’ll run it, stop it, and expect any changes to still be there.
5. Any third-party client (maybe even another student’s app) may connect to your API
and they will expect it to work precisely as documented in the API specification. For
each element of the API that you implement, we’ll expect it to work just as defined.
6 Submission
Your code for this assignment must be committed to your allocated SENG365 project repo
at eng-git.canterbury.ac.nz. We’ll assess the last commit made before the cut-off
time for the assignment.
 1 https://eng-git.canterbury.ac.nz/

More products