You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.2 KiB
2.2 KiB
Shelf Project
An online storefront to showcase products. Users is able to browse an index of all products, see the specifics of a single product, and add products to an order that they can view in a cart page.
Installation
1 - Install packages dependencies. npm install
2 - Inside shelf folder mount the database. docker compose up
3 - Run tests. npm run test
4 - Run the database npm run up
5 - Launch the application npm run start
Note : If needed you can reset the tables by closing the app and running npm run down
, npm run up
Availaible endpoints
-
Products :
- get
/products
, Index - get
/products/:id
Read - post
/products
Create ( Token ) - put
/products/:id
Update ( Token ) - delete
/products/:id
Delete ( Token )
HTTP Verb Endpoint CRUD get /products
Index get /products/:id
Read post /products
Create ( Token ) put /products/:id
Update ( Token ) delete /products/:id
Delete ( Token ) - get
-
Users :
- get
/users
, Index ( Token ) - get
/users/:id
Read ( Token ) - post
/users
Create - post
/users/auth
Authenticate ( Token ) - put
/users/:id
Update ( Token ) - delete
/users/:id
Delete ( Token )
- get
-
Orders :
- get
/orders
, Index ( Token ) - get
/orders/:id
Read ( Token ) - post
/orders
Create - post
/orders/:id/products
Authenticate ( Token ) - delete
/orders/:id/products
Delete ( Token )
- get
Built with
- Typescript
- Postgres for the database
- Node/Express for the application logic
- Dotenv from npm for managing environment variables
- Db-migrate from npm for migrations
- Jsonwebtoken from npm for working with JWTs
- Jasmine/Supertest from npm for testing
Author
Anis Benziane.