Skip to content

amit2111github/Eflyer_Backend

Repository files navigation

🛒   Shopping App 🛒

Built with MERN stack (MongoDB, Express, React and Node).

⚡⚡⚡   Live Demo ⚡⚡⚡

📜   Table of contents

🚩   Main Features

An ecommerce store built with MERN stack, and utilizes third party API's. This ecommerce store enable two main different flows or implementations:

  1. Buyers browse the store categories, products and brands
  2. Sellers or Merchants manage their own brand component
  • features:
    • Node provides the backend environment for this application
    • Express middleware is used to handle requests, routes
    • Mongoose schemas to model the application data
    • React for displaying UI components
    • Images are stored on cloudinary

📝  Project methodology

  • Register and signin system

    • Anyone can register himself as a customer.
    • Customers can apply to be sellers.
    • Shipper only created by the Admin.
    • Admins can create any other admins.
  • Product life cycle

    • A seller add a product.
    • A customer order some products, number in stock decreases.
    • The customer tracks the order's state since it's placed.
    • The product's seller get a notification about the order.
  • Other facilities

    • Users can edit their account info.
    • Users can track their order's state.
    • Users can add, delete or edit addresses.
    • Users can have a wishlist with any amount of products.

Users roles -

  • Customer

    • Sign up & login.
    • Switch the account to seller.
    • Purchase order of any amount of products.
  • Seller -> all above plus.

    • Add and edit his own products.
    • Receive notifications of the new orders the customer make (only his products).
  • Admin -> all above plus

    • Add, Edit and Delete categories.
    • Add, Edit and Delete any products.
    • Create other Admins.
    • Restrict any user from all the permissions.

💹   Technologies

Project is created with:

Backend

  • Express
  • Mongoose
  • Json Web Token (For authentication)
  • bcryptjs (for data encryption)
  • cloudinary

Frontend

  • React JS
  • React-router (To handle routing)
  • Axios (For http requests)
  • React Bootstrap

💡   Key Concepts

  • MVC (Model-View-Controller)
  • CRUD operations
  • Authentication system
  • Encrypting passwords
  • Images handling using multer
  • OOP (Object Oriented Programming)

📈   UML Diagram

It's my first time to design a UML so maybe it sucks :D

UML Diagram

💻   Setup

To run this project, install it locally using npm:

  1. First and foremost, open your terminal and type to clone this repository.

git clone https://github.com/amit2111github/Eflyer_Backend.git

  1. Install the necessary dependencies to your app by running

npm install

  1. Launch the development build of the app, by running

npm start

  1. Open your favourite browser and type

http://localhost:8000/

  1. Clone the backend of this repo by visiting this Happy Coding :)

Author

👤   Amit Kumar

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages