MCPcopy Index your code
hub / github.com/mohamedsamara/mern-ecommerce

github.com/mohamedsamara/mern-ecommerce @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
494 symbols 1,093 edges 269 files 0 documented · 0% 33 cross-repo links updated 22mo ago★ 1,97520 open issues

Browse by type

Functions 406 Types & classes 88
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MERN Ecommerce

Description

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

  1. Buyers browse the store categories, products and brands
  2. Sellers or Merchants manage their own brand component
  3. Admins manage and control the entire store components

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
  • Redux to manage application's state
  • Redux Thunk middleware to handle asynchronous redux actions

Demo

This application is deployed on Vercel Please check it out :smile: here.

See admin dashboard demo

Docker Guide

To run this project locally you can use docker compose provided in the repository. Here is a guide on how to run this project locally using docker compose.

Clone the repository

git clone https://github.com/mohamedsamara/mern-ecommerce.git

Edit the dockercompose.yml file and update the the values for MONGO_URI and JWT_SECRET

Then simply start the docker compose:

docker-compose build
docker-compose up

Database Seed

  • The seed command will create an admin user in the database
  • The email and password are passed with the command as arguments
  • Like below command, replace brackets with email and password.
  • For more information, see code here
npm run seed:db [email-***@****.com] [password-******] // This is just an example.

Install

npm install in the project root will install dependencies in both client and server. See package.json

Some basic Git commands are:

git clone https://github.com/mohamedsamara/mern-ecommerce.git
cd project
npm install

ENV

Create .env file for both client and server. See examples:

Frontend ENV

Backend ENV

Vercel Deployment

Both frontend and backend are deployed on Vercel from the same repository. When deploying on Vercel, make sure to specifiy the root directory as client and server when importing the repository. See client vercel.json and server vercel.json.

Start development

npm run dev

Languages & tools

Code Formatter

  • Add a .vscode directory
  • Create a file settings.json inside .vscode
  • Install Prettier - Code formatter in VSCode
  • Add the following snippet:

    {
      "editor.formatOnSave": true,
      "prettier.singleQuote": true,
      "prettier.arrowParens": "avoid",
      "prettier.jsxSingleQuote": true,
      "prettier.trailingComma": "none",
      "javascript.preferences.quoteStyle": "single",
    }

Core symbols most depended-on inside this repo

Shape

Function 350
Class 88
Method 56

Languages

TypeScript100%

Modules by API surface

client/app/containers/Product/actions.js17 symbols
client/app/components/Common/Icon/index.js13 symbols
client/app/containers/Merchant/actions.js12 symbols
client/app/containers/Order/actions.js11 symbols
client/app/containers/Category/actions.js11 symbols
client/app/containers/Cart/actions.js11 symbols
client/app/containers/Brand/actions.js10 symbols
client/app/containers/Application/index.js9 symbols
client/app/containers/Address/actions.js9 symbols
client/app/containers/Review/actions.js8 symbols
client/app/containers/Navigation/index.js7 symbols
client/app/components/Common/SearchBar/index.js7 symbols

Dependencies from manifests, versioned

@babel/core7.4.5 · 1×
@babel/plugin-proposal-class-properties7.14.5 · 1×
@babel/preset-env7.4.5 · 1×
@babel/preset-react7.0.0 · 1×
@faker-js/faker8.4.1 · 1×
@fontsource/poppins4.5.9 · 1×
autoprefixer9.6.0 · 1×
autosuggest-highlight3.1.1 · 1×
aws-sdk2.799.0 · 1×
axios0.21.1 · 1×
babel-loader8.0.6 · 1×
bcryptjs2.4.3 · 1×

Datastores touched

UserCollection · 1 repos
(mongodb)Database · 1 repos
mern_ecommerceDatabase · 1 repos

For agents

$ claude mcp add mern-ecommerce \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page