ShopCart is an app used for buying a wide range of products. All selected products can be paid for online using the card payment method. The customers will receive after payment a invoice with all products purchased. Customers can be individuals or companies.
Below is a list of all the technologies used to develop the app. They are structured by categories.
Frontend
- HTML
- CSS
- JavaScript
Backend
- NodeJS
Databases
- MongoDB
Cloud
As the application is developed using the NodeJS to launch it in development mode or for deployment we should run some commands that allow us to perform these processes.
Before executing any command, we must make sure that the dependencies (node_modules) are installed, otherwise we must install them using this command:
npm install
To run the application use this command:
npm run devStart
To build the application for deployment use this command:
node index.js
The database used for data storage is MongoDB.
erDiagram
CUSTOMER {
string id PK
string(3) first_name
string(3) last_name
string(10) email
string password
string(10) phone
string image
ADDRESS address
CARD card
object metadata
date created_date
}
PRODUCT {
string id PK
string(5) name
string description
string[] images
number price
number discount
number stock
date created_date
}
CART {
string id PK
string customer_id FK
ITEM[] items
}
ORDER {
string id PK
string customer_id FK
enum status
ITEM[] items
date created_date
}
REVIEW {
string id PK
string customer_id FK
string product_id FK
string(10) title
string content
date created_date
}
ADDRESS {
string country
string state
string city
string street
string postal_code
string vat_type
string vat_code
}
CARD {
string name
string brand
string last4
integer exp_month
integer exp_year
}
ITEM {
string product_id FK
number quantity
}
CUSTOMER ||--|| ADDRESS : "has address"
CUSTOMER ||--|| CARD : "has card"
CUSTOMER ||--|| CART : "has cart"
CUSTOMER ||--o{ ORDER : "has orders"
CUSTOMER ||--o{ REVIEW : "has reviews"
PRODUCT ||--o{ REVIEW : "has reviews"
CART ||--o{ ITEM : "has products"
ORDER ||--o{ ITEM : "has products"
ITEM }o--o{ PRODUCT : "products"
Distributed under the MIT License. See MIT for more information.
Eduard-Nicolae - eduard_nicolae@yahoo.com
Project link - https://github.com/EddyEduard/ShopCart