Skip to content

AkhilSharma90/nodejs-ecommerce-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node.js E-Commerce API

Author - Akhil Sharma

  1. 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 use npx nodemon to run it locally.

  2. Make sure the main file is called index.js and not app.js

  3. Put a .env file with api_url and secret key

  4. In routes, when you are accessing the user model, 'User' - make it 'user' for models (small case as ubuntu is case sensitive)

  5. Replace mongodb connection string as well in the database config file

  6. 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

Setup

    $ git clone
    $ cd nodejs-ecommerce-api
    $ npm install

Run The Service

$ nodemon app.js

API Endpoints

User Routes

* Create User

POST | /api/v1/users/register

Key Value
name Admin
email admin@admin.com
password password
phone +917187520
isAdmin true
street Main Street
apartment Block C
zip 10870
city Bangalore
country India

* Login User

POST | /api/v1/users/login

Key Value
email admin@admin.com
password password

* Get Users

GET | /api/v1/users

* Get Single Users

GET | /api/v1/users/{id}

* Delete User

DELETE | /api/v1/users/{id}

* Get Users Count

GET | /api/v1/users/get/count

Category Routes

* Create Category

POST | /api/v1/categories

Key Value
name Category 1
icon icon-health
color #55879

* Get Categories

GET | /api/v1/categories

* Get Single Category

GET | /api/v1/categories/{id}

* Update Category

PUT | /api/v1/categories/{id}

Key Value
name Category 1
icon icon-health
color #55879

* Delete Category

DELETE | /api/v1/categories/{id}

Product Routes

* Create Product

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 Products

GET | /api/v1/products

* Get Single Category

GET | /api/v1/products/{id}

* Get Prodcut Counts

GET | /api/v1/products/get/count

* Get Featured Prodcut Counts

GET | /api/v1/products/get/featured/{count}

* Upload Galley Images

POST | /api/v1/products/gallery-images/{id}

Key Value
images Array of images

* Update Product

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 Product

DELETE | /api/v1/products/{id}

Orders Routes

* Create Order

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 Orders

GET | /api/v1/orders

* Get Single Order

GET | /api/v1/orders/{id}

* Get Total Order Count

GET | /api/v1/orders/get/count

* Get Total Sales

GET | /api/v1/orders/get/totalsales

* Get User Order

GET | /api/v1/orders/get/usersorders/{userid}

* Update Single Order

PUT | /api/v1/orders/{id}

* Delete Single Order

DELETE | /api/v1/orders/{id}

About

Live masterclass on NodeJS, A simple ecommerce example

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published