this project is a Fully secure Store api password-decryption and JWT authorization
created using Express and postgreSQL Database tested using Jasmine.
-
npm install -
first create production and testing database and update database.json with correct data and then run.
npm i -g db-migrate db-migrate-pg"npm run migrate-up" => migrate up production database "npm run migrate-down" => migrate down production database "npm run migrate-up-test" => migrate up testing database "npm run migrate-down-test" => migrate down testing database -
POSTGRES_HOST=database host POSTGRES_USER=database user POSTGRES_PASS=database password POSTGRES_DB=production database name POSTGRES_TEST_DB=testing database name ENV=dev SALT=SALT added to password HASH_ROUNDS="10" SECRET=secert string to make token signeture -
npm run start -
npm run testtesting should run in specific order to prevent conflict bettween endpoints and models
"spec_files": [ "../src/models/tests/userSpec.ts", "../src/models/tests/productSpec.ts", "../src/models/tests/orderSpec.ts", "../src/handlers/tests/usersSpec.ts", "../src/**/tests/*[sS]pec.ts"] -
npm run lint -
npm run prettier
-
- create user
- show all users => token required
- show user by id => token required
- update user data => token required
- delete user data => token required
-
- create product => token required
- show all products
- show product by id
- update product => token required
- delete product => token required
- show products by category
- show most ordered products
-
- create orders by user => token required
- show order by user => token required
- show completed orders by users => token required
- delete orders by user => token required