首页 > > 详细

辅导SENG365 2020-Assignment 1讲解R程序、R语言程序解析、讲解R程序

SENG365 2020 Web Computing Architectures:
Assignment 1 Implement API with Web Service

Version 1.0, 14 February 2020

1 Summary of submission requirements

Course coordinator: Ben Adams
Markers: Lecturer and automated marking
Set date: First week of semester.
Submission date: 5pm, Friday, 27 March 2020
Late submission: NO late submission is allowed for this assignment
(without Special Consideration or similar)
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 a petition site (think
change.org). 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 venue-review 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 review sites.

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,
• The necessary continuous integration support to test your server-side application in
a virtual 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/

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!