Bookstore Node/Express API
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.
 
 
Vic 6b487c32f1 updated README.md 2 years ago
migrations added order_spec.ts 2 years ago
src linter + prettier 2 years ago
.gitignore updated packages 2 years ago
LICENSE.txt init commit 2 years ago
README.md updated README.md 2 years ago
database.json product tests fix 2 years ago
docker-compose.yml minor fix 2 years ago
jasmine.json added order_spec.ts 2 years ago
package.json added user model and users handler 2 years ago
tsconfig.json init commit 2 years ago
yarn.lock added user model and users handler 2 years ago

README.md

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 )
  • 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 )
  • 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 )

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.