CS计算机代考程序代写 Introduction

Introduction

You are going to develop and implement a cloud-based application for an inventory management

system.

Project Deliverables

1. An express server that provides basic CRUD services for the inventory collection. The server must be

running in the cloud (IBM Cloud, AWS, Heroku or Microsoft Azure).

mailto: .edu.hk
https://forms.gle/ezs74s2PvJbbfSf57

Functional Requirements

1. Login/logout

 Each user account has a userid and password.

 Upon successful login, userid should be stored in a session

2. Create new inventory documents

 Inventory documents may contain the following attributes:

I. inventory_ID

II. name

III. type

IV. quantity

V. photo

VI. photo mimetype

VII. inventory_address

a. street

b. building

c. country

d. zipcode

e. coord

VIII. manager

 name and manager are mandatory; other attributes are optional

3. Update inventory documents

 An inventory document can only be updated by its manager (the one who created the document)

4. Display inventory documents

 Show photo if it is available

 Show a link to Leaflet if coord is available

5. Delete inventory documents

 The document can only be deleted by its manager

6. Search for the inventory

 by name

7. Provide the following RESTful services.

Request Parameters Response

GET /api/inventory/ /name/xxx

/type/yyy

[

{ inventory doc1},

{ inventory doc2},

]

OR

{}

Remarks Read inventory documents with criteria:

xxx – name of inventory

yyy – type of inventory

Non-Functional Requirements

 Use EJS to render all UI

 Use MongoDB driver

 Display project member information after the login page (name and student id)

Assessment Criteria

1. Your server is required to pass different test cases. Here is a sample test case.

Precondition:

o An empty inventory collection

Steps:

o Login as demo (no password is required)

o Create an inventory document with name = Pen, manager = demo

o Submit GET /api/inventory/name/Pen

Expected outcome:

o The Pen document in JSON format.

2. Marks are deducted (up to 50%) in case of incomplete source code.