E-commerce API

MERN stack. The repository encompasses APIs for both the Admin Panel and the Frontend website. The database is structured with the idea of a Software as a Service (SaaS) version in mind, making it easily adaptable into a SaaS version with minimal effort.

Pure Nim score 15/100 · last commit 2024-07-26 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2024-07-26
Downloads 0
Last Indexed 2026-09-06 07:35

Installation

nimble install E-commerce API
choosenim install E-commerce API
git clone https://gitlab.com/amit_chandrakar/e-commerce-api

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
E-commerce API - - - - - - -

README

React E-Commerce Site API (Front End & Admin Panel)

This is the API for the React E-Commerce Site. This API is built with Node.js, Express.js, and MongoDB.

MongoDB Atlas Express.js Node.js Heroku

Installation

  1. Clone the repo sh git clone https://gitlab.com/amit_chandrakar/e-commerce-backend.git
  2. Install NPM packages sh npm install
  3. Run command to create .env file sh cp .env.example .env
  4. Enter your MongoDB Atlas URI in .env JS MONGO_URI = 'ENTER YOUR MONGO URI';
  5. Run the app sh npm start
  6. Test the API with Postman or Insomnia. The API documentation URL is https://documenter.getpostman.com/view/4333189/2s9YRCVAhD

This API includes following pages on Admin Panel

  • Dashboard Pages
    • Dashboard (V2)
    • Users (V2)
      • Users (V2)
      • Roles (V2)
      • Permissions (V2)
    • Categories (V1)
    • Subcategories (V1)
    • Brands (V1)
    • Products (V1)
    • Orders (V1)
    • Invoices (V1)
    • Payments (V1)
    • Coupons (V2)
    • Reports (V2)
    • Settings
      • App Settings (V2)
      • Payment Settings (V2)
      • Social Settings
      • Email Settings (V2)
      • SMS Settings (V2)
      • Language Settings (V3)
      • Front page settings (V1)
      • Front Theme Settings (V1)
      • Admin Theme Settings
      • Tax Settings (V1)

This API includes following pages on Admin Panel

  • Dashboard (V2)
  • Users (V2)
    • Users (V2)
    • Roles (V2)
    • Permissions (V2)
  • Categories (V1)
  • Subcategories (V1)
  • Brands (V1)
  • Products (V1)
  • Orders (V1)
  • Invoices (V1)
  • Payments (V1)
  • Coupons (V2)
  • Reports (V2)
  • Settings
    • App Settings (V2)
    • Payment Settings (V2)
    • Email Settings (V2)
    • SMS Settings (V2)
    • Tax Settings (V1)
    • Language Settings (V3)
    • Front page settings (V1)
    • Front Theme Settings (V1)
    • Admin Theme Settings
    • Social Settings

This API includes following pages on Front Website

  • Home Page (V1)
  • Products Listing Page with filters (V1)
  • Product Details (V1)
  • Cart (V1)
  • Checkout (V1)
  • Order Success (V1)
  • User Profile (V1)
  • User Orders (V1)
  • User Addresses (V1)
  • Product Reviews (V2)
  • User Auth (Login, Register, Forgot Password, Reset Password ) (V1)

Features of this API

The following features has been planned for this API.

Feature Status
File/Image upload Done
Seeder Done
  • Authentication
    • Login
    • Register
    • Forgot password
    • Reset password
    • Email verification
    • Social login
    In Progress
  • Integrations
    • Docker
    • CI/CD
    • Linting and Code Formatting
    • Code Documentation
    In Progress
  • Payment gateway
    • Stripe
    • Paypal
    • Razorpay
    In Progress
    SMS Gateway Pending
    Google recaptcha Pending
    User Activity Logs Pending
    User Roles and Permissions Pending

    Node packages used

    These are the packages used in this project. Click on the package name to go to the package page.

    Name Description Package Link Status
    Express Fast, unopinionated, minimalist web framework for node. Express Done
    Mongoose Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Mongoose Done
    Dotenv Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Dotenv Done
    Nodemon Nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected. Nodemon Done
    Morgan HTTP request logger middleware for node.js. Morgan Done
    Cors CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options. Cors Done
    Winston A logger for just about everything. Winston Done
    Slugify Slugifies string with replacement. Slugify Done
    Razorpay Razorpay Node.js client for API v1 and v2. Razorpay Done
    Nodemailer Send e-mails from Node.js – easy as cake! 🍰✉️ Nodemailer Done
    Multer Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploading files. Multer Done
    Jsonwebtoken An implementation of JSON Web Tokens. Jsonwebtoken Done
    Eslint A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Eslint Done
    Husky Husky can prevent bad git commit, git push and more 🐶 woof! Husky Done
    Migrate-mongo The MongoDB CLI for Migrations. Migrate-mongo Done
    Bcrypt A library to help you hash passwords. Migrate-mongo Done

    API Documentation

    The API documentation URL is https://documenter.getpostman.com/view/4333189/2s9YRCVAhD

    License

    This is an open source project. Feel free to do whatever you want with it. 🤘😎🤘