express-template-by-amr v1.0.0
Express Template
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 express-template-by-amr
& follow instructions on your terminal.
Another way
1- clone repo on https://github.com/3amr7ussein/express-template-by-amr
you local machine
2- cd into project directory and run npm install
3- create .env file in the project directory and copy/paste https://github.com/3amr7ussein/.env-files/blob/main/.env
4- run docker-compose up
& keep this terminal running
5- 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.
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.
1 year ago