Skip to content

ToufiqAlahi/E-Commerce-MERN

Repository files navigation

ShopZo

ShopZo, an E-commerce website was built with MERN stack (MongoDB, Express, React, Node). The frontend is built using Redux, and React, CSS. The backend is built using Express - js, MongoDB, and Mongoose for database management. For password encryption, I have used the bcrypt library, a hashing algorithm to encrypt passwords.

Live Site Link: 🔗

ShopZo Live Site

NB: Please try refreshing the page if the server fails to process requests. (It happens due to the "free tier hosting".)

Tech Stack

Client: React, CSS, Material-UI, Server: Node, Express, mongodb,

Notable Packages that I have used:

  • Axios for handling the promises to perform CRUD operations
  • Bycryptjs for hashing the paswords
  • chart.js for creating flexible charts
  • cloudinary for storing and optimizing images and other media
  • Country-js to get the country code, name, currency symbol, capital, phone code, etc
  • Country-state-city for fetching user's Country, their States and Cities
  • Express-fileupload a middleware for Express, to handle file uploads such as: user's profile photo, product's images
  • JSON Web Token for user AUTHORIZATION
  • Mongoose for schema validation
  • nodemailer to send mails, such as: pass recovery emails for "Forgot password"
  • Stripe to facilitate the payments
  • React-router to define multiple routes in the app
  • React-js-pagination to show data on a series of pages
  • React-helmet to dynamically change the page title
  • Redux to manage the states in a predictable and traceable way.
  • Redux-thunk for communicating asynchronously with an external API to retrieve or save data

Demo

Shopzo_Demo.mp4

Screenshots

Home Page Banner
Shopzo Screenshot
Overlay Navbar
Shopzo Screenshot

Products Page
Shopzo Screenshot
Product Details Page
Shopzo Screenshot

Shopzo Screenshot

Contact Page


Footer:

footer

Color Reference

Color Hex Code #RRGGBB Decimal Code (R,G,B)
Primary Color #5428d5 #5428d5 rgb(84, 40, 213)
Accent Color #b8a9eb #b8a9eb rgb(184, 169, 235)
Secondary Color #FFD700 #FFD700 rgb(255, 215, 0)
Neutral Color #808080 #808080 rgb(128, 128, 128)

🔗 Links

portfolio

linkedin

twitter

Instagram