Bookstore Node/Express API
migrations | ||
src | ||
.gitignore | ||
database.json | ||
docker-compose.yml | ||
jasmine.json | ||
LICENSE.txt | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
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.