Author - Akhil Sharma
-
If you have an issue with nodemon - Install nodemon in your project by
npm i nodemon
It sometimes won't work because npm won't be at sudo level so you gotta usenpx nodemon
to run it locally. -
Make sure the main file is called index.js and not app.js
-
Put a .env file with api_url and secret key
-
In routes, when you are accessing the user model, 'User' - make it 'user' for models (small case as ubuntu is case sensitive)
-
Replace mongodb connection string as well in the database config file
-
If you're unable to connect to your own Atlas cluster, make sure your new and current ip address is added to the mongodb atlas cluster
$ git clone
$ cd nodejs-ecommerce-api
$ npm install
$ nodemon app.js
POST | /api/v1/users/register
Key | Value |
---|---|
name | Admin |
admin@admin.com | |
password | password |
phone | +917187520 |
isAdmin | true |
street | Main Street |
apartment | Block C |
zip | 10870 |
city | Bangalore |
country | India |
POST | /api/v1/users/login
Key | Value |
---|---|
admin@admin.com | |
password | password |
GET | /api/v1/users
GET | /api/v1/users/{id}
DELETE | /api/v1/users/{id}
GET | /api/v1/users/get/count
POST | /api/v1/categories
Key | Value |
---|---|
name | Category 1 |
icon | icon-health |
color | #55879 |
GET | /api/v1/categories
GET | /api/v1/categories/{id}
PUT | /api/v1/categories/{id}
Key | Value |
---|---|
name | Category 1 |
icon | icon-health |
color | #55879 |
DELETE | /api/v1/categories/{id}
POST | /api/v1/products
Key | Value |
---|---|
name | Product 1 |
description | Description |
richDescription | Rich Description |
image | image |
brand | Brand 1 |
price | 50 |
category | {category_id} |
countInStock | 100 |
rating | 4.5 |
numReviews | 40 |
isFeatured | true |
GET | /api/v1/products
GET | /api/v1/products/{id}
GET | /api/v1/products/get/count
GET | /api/v1/products/get/featured/{count}
POST | /api/v1/products/gallery-images/{id}
Key | Value |
---|---|
images | Array of images |
PUT | /api/v1/products
Key | Value |
---|---|
name | Product 1 |
description | Description |
richDescription | Rich Description |
image | image |
brand | Brand 1 |
price | 50 |
category | {category_id} |
countInStock | 100 |
rating | 4.5 |
numReviews | 40 |
isFeatured | true |
DELETE | /api/v1/products/{id}
POST | /api/v1/orders
{
"orderItems":[
{
"quantity": 3,
"product" : "602e9c348e700335d8532b14"
},
{
"quantity": 2,
"product" : "602bde0161fcc409fc149734"
}
],
"shippingAddress1" : "No 45,Park Street",
"shippingAddress2" : "No 46,Main Street",
"city" : "Bangalore",
"zip" : "10600t",
"country" : "India",
"phone" : "+91717185748",
"user" : "602e9b718e700335d8532b13"
}
GET | /api/v1/orders
GET | /api/v1/orders/{id}
GET | /api/v1/orders/get/count
GET | /api/v1/orders/get/totalsales
GET | /api/v1/orders/get/usersorders/{userid}
PUT | /api/v1/orders/{id}
DELETE | /api/v1/orders/{id}