store-front-by-amr v1.0.2
Store Front
Installation
You need to have Node & Docker installed in your machine, then you can follow one of these two ways to clone and install project dependencies.
One way
- Is to open your terminal and run command
npx store-front-by-amr <Project-Name>
& follow instructions on your terminal.Another way
1- clone repo onhttps://github.com/3amr7ussein/store-front
you local machine 2- cd into project directory and runnpm install
3- rundocker-compose up
& keep this terminal running 4- Open new terminal and run project scripts npm run test
to run jasmine unit test on the projectnpm start
to fill database with dummy data & start server on http://localhost:4000
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | /signup | Sign Up Page |
POST | /signup | Create New User |
GET | /signin | Sign In Page |
POST | /signin | Authenticate user |
GET | /signout | Remove user token |
users/
Route
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | / | Users Table Require Authentication |
GET | /current-user | current logined user Require Authentication |
GET | /search | Search User By ID Page |
POST | /:id | Get data of user with :id Require Authentication |
products/
Route
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | / | Products Table Require Authentication |
GET | /top | top 5 popular products |
GET | /create | New product Page |
POST | /create | Add new product row Require Authentication |
GET | /search | Search Products Page |
GET | /:id | Search Product By :id |
GET | /category | Find product by category Page |
GET | /category/:category | Search Products by :category |
orders/
Route
HTTP Verbs | Endpoints | Action |
---|---|---|
GET | / | Orders Table Page |
GET | /create | New Order Page |
POST | /create | Add New Order Row |
GET | /addItem | New Order Item Page |
POST | /addItem | Add New Order Item |
GET | /current | User Active Order Page |
GET | /current/:userId | Get User Active Order by userId Require Authentication |
GET | /completed | User Completed Order Page |
GET | /completed/:userId | Get User Completed Order by userId Require Authentication |
Database Schema
Used Technologies
NodeJS This is a cross-platform runtime environment built on Chrome's V8 JavaScript engine used in running JavaScript codes on the server. It allows for installation and managing of dependencies and communication with databases.
ExpressJS This is a NodeJS web application framework.
Postgres PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
Jasmine Jasmine is a behavior-driven development framework for testing JavaScript code.
Docker Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle.