Your assignment page on Canvas should contain instructions for submitting this project. If you are still unsure, reach out to School Staff.
Open data/schemes.db3 using a graphical tool like SQLite Studio and study the data inside the schemes and steps tables. The data can be reset at any time by executing npm run seed.
Open api/schemes/scheme-router.js and study the specification for each endpoint. You do not need to make any changes to this file.
[GET] /api/schemes[GET] /api/schemes/:scheme_id[GET] /api/schemes/:scheme_id/steps[POST] /api/schemes[POST] /api/schemes/:scheme_id/steps
Write middleware functions in api/schemes/scheme-middleware.js following the instructions inside that file:
-
checkSchemeId -
validateScheme -
validateStep
Write db access functions in api/schemes/scheme-model.js following the instructions inside that file:
-
find -
findById -
findSteps -
add -
addStep
| field | data type | metadata |
|---|---|---|
| scheme_id | unsigned integer | primary key, auto-increments, generated by db |
| scheme_name | string | required, unique |
| field | data type | metadata |
|---|---|---|
| step_id | unsigned integer | primary key, auto-increments, generated by db |
| scheme_id | unsigned integer | foreign key referencing scheme.scheme_id, required |
| step_number | unsigned integer | required |
| instructions | string | required |
- Run tests locally executing
npm test. - You are welcome to create additional modules but do not move or rename existing files or folders.
- Do not change your
package.jsonfile except to install additional libraries or add additional scripts. - In your solution it is essential that you follow best practices and produce clean and professional results.
- Schedule time to review, refine, and assess your work.
- Perform basic professional polishing including spell-checking and grammar-checking on your work.
Use a graphical tool like SQLite Studio to open ./data/northwind.db3 and execute the following queries:
(Write the queries inside ./queries.sql under the corresponding comment)
- Display the ProductName and CategoryName for all products in the database. Returns 77 records.
- Display the order Id and shipper CompanyName for all orders placed before August 9 2012. Returns 429 records.
- Display the name and quantity of the products ordered in order with Id 10251. Sort by ProductName. Returns 3 records.
- Display the OrderID, customer's Company Name and the employee's Last Name for every order. All columns should be labeled clearly. Returns 16,789 records.
In SQL Try Editor at W3Schools.com:
- Find the number of shipments by each shipper.
- Find the top 5 best performing employees measured in number of orders.
- Find the top 5 best performing employees measured in revenue.
- Find the category that brings in the least revenue.
- Find the customer country with the most orders.
- Find the shipper that moves the most cheese measured in units.