Skip to content

Instantly share code, notes, and snippets.

@basir
Created August 8, 2020 17:14
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save basir/228c7bb58483c938179fd6dc6e610421 to your computer and use it in GitHub Desktop.
Save basir/228c7bb58483c938179fd6dc6e610421 to your computer and use it in GitHub Desktop.

MERN Marketplace

Hello and Welcome to my coding course to build a multi-vendor ecommerce website by MERN stack. In this course you will learn the essential tools and skills to design, develop and deploy a fully-function marketplace website using React and Redux in frontend and Node and MongoDB in backend.

What You Will Learn

This is a practical coding course and we are gonna learn and build lots of stuff in this multi-vendor ecommerce website like:

  • create functional component by react
  • use react hooks to handle form inputs
  • manage application state by redux using custom hooks
  • create backend web api by node and express js
  • design database model by mongodb
  • perform CRUP operations on orders, products and users by mongoose ORM
  • handle authentication and authorization using JsonWebToken
  • create seller and admin roles to manage products, orders and users
  • handle shopping cart for customer to place orders

Audiences

This course is for non-coders or juniors who want to be a professional web developer to get a job in 22 million job opportunities around the world. Basic knowledge of web developments like html, css and basic javascript is necessary for this course.

What You Will Build

  1. What we will build
    1. HomeScreen
      1. Create react app
      2. Use bootstrap and react-bootstrap
    2. Product Screen
      1. Url routing in react
      2. handle events in react
    3. Cart Screen
      1. Save and retrieve data in local storage
      2. Working javascript array functions
      3. Update summary based on cart changes
    4. Sign-in and Register Screen
      1. Create dynamic form
      2. Input validation in frontend and backend
      3. Create web server using node.js
      4. Connect to Mongodb database
      5. Add registered user to the database
      6. Authenticate user based on email and password
      7. Using Jsonwebtoken to authorize users
    5. Shipping and Payment Screen
      1. Create wizard form to get user data in multiple steps
      2. Save user info in the local storage
    6. Place Order Screen
      1. Validate and create order in the database
    7. Order Screen
      1. Payment with paypal
      2. Show order state based on user and admin activities
    8. Profile Screen
      1. Create authenticated routes
      2. enable user to update their informations
      3. enable user to logout and clear local storage
      4. show list of orders to user and link it to details
    9. Seller Menu
      1. add products, upload files
      2. manage orders
    10. Admin Menu
      1. manage users

Table Of Content

  1. Create React Bootstrap App
    • Create react app
    • Install react-bootstrap
    • Add project to git repo and publish on GitHub
  2. Build Home Screen
    • create an array of products
    • use map function to render products array
    • create Product component
    • use Card and Link to shape product thumbnails
  3. Create Product Details Screen
    • use Row and Col to shape 3 columns content
    • read url params to get product id
    • create button for Add To Cart
  4. Create Node.JS Server
    • npm init in root folder
    • create backend folder and server.js file
    • create a simple express server to server products
  5. Use ES6 Syntax In Backend
    • install babel transpiler
    • config babel
  6. Enable Code Linter and Essential Extension
    • npm install -D eslint
    • install VSCode eslint extension
    • JavaScript (ES6) code snippets
    • ES7 React/Redux/GraphQL/React-Native snippets
    • Prettier - Code formatter
  7. Load Products From Backend
  • send ajax request using axios
  • use useEffect
  • list items in react
  1. Manage State With Redux
    • What is Redux
    • create store
    • import in App.js
  2. Connect HomeScreen to Redux
    1. create actions, reducers for product list
    2. load products from redux store
  3. Connect Product Screen to Redux
  4. Add To Cart Action
  5. Cart Screen UI
  6. Update and Delete Cart Items
  7. Connect To MongoDB and Create Admin User
  8. Sign-in Screen UI
  9. Sign-in Screen Backend
  10. Sign-in Screen Action
  11. Create Progress Indicator and Alert Component
  12. Register Screen
  13. User Profile Screen
  14. Checkout Wizard
  15. PlaceOrder Screen UI
  16. PlaceOrder Screen Action
  17. Order Screen
  18. PayPal Payment
  19. Display Orders History
  20. Admin Dashboard UI
  21. Admin Products UI
  22. Create Product
  23. Edit Product UI
  24. Edit Product Backend
  25. Upload Product Image
  26. Build Project
  27. Delete Product
  28. Admin Orders
  29. Deliver Order
  30. Handle Seller Role
  31. Handle User Role
  32. Publish to heroku
  33. Search Products
@osrstoday
Copy link

it exist ?

@dilshod1d
Copy link

Where to learn??

@habeknavek
Copy link

Please provide link to repository if it exists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment