MyIndiaa_E-Commerce

Stars
0
Committers
2

MyIndiaa_E-Commerce Backend Plateform

This is a scalable server-side application for an e-commerce platform, developed using Node.js, Express.js, and MongoDB. The application provides robust APIs for user management, product management, and order processing. It also integrates with third-party services for payment processing and logistics.

Description

This is a backend application for an e-commerce platform designed to handle user authentication, product catalog, order processing and Payment with stripe. The application uses Json Web Token(JWT) for authentication, MongoDB for database, and integrates with mock payment gateways.

Features

  • User authentication and authorization using JWT
  • Product management (CRUD operations)
  • Order processing
  • Integrated with mock api for payment gateways
  • Secure data handling and storage
  • Performance optimization

Technologies Used

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT (JSON Web Tokens)
  • CORS
  • JWT
  • Bcrypt
  • Nodemon
  • env

Installation

Clone the repo

  git clone https://github.com/sumansauravmay/MyIndiaa_E-Commerce.git

Deployed Link

  https://myindiaa-e-commerce.onrender.com/

Start the server:

API Documentation

  1. Registration
  Register: POST /register
  {
  "name": "Suman",
  "email": "[email protected]",
  "password": "suman@123"
}
  1. Login (Authentication)
  Login: POST /login
 {
  "email": "[email protected]",
  "password": "suman@123"
}
  1. Products
  • Get all the product
 GET /
  • Add new product
 POST /add
  • Request body
{
    "image": "https://avatars.githubusercontent.com/u/101393663?s=48&v=4",
  "title": "Jeans",
  "description": "This is jeans",
  "Price": 4000
}
  • Update by id
 PATCH /update/:id
  • Delete by id
 Delete /delete/:id

Orders

  • Get all the order
 GET /orders
  • Get the order by id
 GET /orders/:orderId
  • Request body
 POST /add
  • Make a order
 POST /orders/
  • Request body
{
   "user": "6672a7b525a591f7d7911f2f",
  "products": [
    "66733090659d8eccc4386583"
  ],
  "totalAmount": 6000
}

Payment

  • Get all the payments
 GET /payment
  • Get payments by id
 POST /payment/:id
  • Request for a payment
 POST /payment
  • Request body
 {
  "order":"6673f2d2cdf49cdb26cc7697",
  "amount":4000,
  "paymentDate":"Date.now()"
}
1. API Development
2. Database Integration
3. Mock Third-Party Integrations
4. Security Measure
.5 Scalability and Performance Optimization