Skip to main content
留学咨询

辅导案例-SENG365 2020-Assignment 1

By May 15, 2020No Comments

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/

admin

Author admin

More posts by admin