Skip to content

ElectroStore is an e-commerce platform for electronic products. The backend is built with NestJS and deployed on Render, while the frontend is created with Next.js and hosted on Vercel. Access the platform at ElectroStore.

License

Notifications You must be signed in to change notification settings

YassineAzedine/Electro-Store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eletro Store - eCommerce app w/ Next.js, Nest.js and MongoDB

Eletro Store preview image

The Challenge ⚡️

I wanted to build another eCommerce website using newer technologies than my previous eCommerce project, where I used mongodb to store data and Redux for state management.

I went with a client-server approach, and this time I mixed two frameworks for the first time, which were Next.js and Nest.js.

This project was very fun to build, as I encountred multiple challenges on how to coordinate between a fast, secure, and strictly-typed Nest.js API; and a Next.js app based on client-side fetching.

Here was the challenge:

  • Server-side full-featured shopping cart from scratch.
  • Storing product reviews and ratings for every customer.
  • Adding pagination & searching features for products.
  • User account management & saving product orders.
  • Admin profile & product management.
  • Fast checkout process (shipping, payment method, etc).

Built With ✨

  • Nest.js - node.js framework
  • React Bootstrap - UI library
  • Redux - State management library
  • JWT - tokens for authentication
  • Next.js - react.js framework
  • MongoDB - Document database
  • Typescript

Running Locally 🖥️

Clone the project

git clone https://github.com/YassineAzedine/Electro-Store.git

Go to the project directory

cd Electro-Store

Remove remote origin

git remote remove origin

Install dependencies - Client

yarn install

Install dependencies - Server

yarn install

Add Environment Variables - Client

Click to expand!
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID

Add Environment Variables - Server

Click to expand!
  • MONGODB_PASSWORD
  • MONGODB_DATABASE_NAME
  • JWT_SECRET
  • MONGODB_URL
  • SESSION_KEY
  • CLIENT_URL
  • CLOUDINARY_API_KEY
  • CLOUDINARY_API_SECRET
  • CLOUDINARY_NAME

Start the server

yarn start:dev

Start the client

yarn dev

Deployment 🚀

Inspiration & credits ☄️

Author

Thanks for sharing 🚀

About

ElectroStore is an e-commerce platform for electronic products. The backend is built with NestJS and deployed on Render, while the frontend is created with Next.js and hosted on Vercel. Access the platform at ElectroStore.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages