Skip to content

Pluto0104/next-nest-ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Eshop preview image

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/astrohunter62/next-nest-ecommerce.git

Go to the project directory

cd next-nest-ecommerce

Remove remote origin

git remote remove origin

Install dependencies - Client

npm install

Install dependencies - Server

npm 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

npm run start:dev

Start the client

npm run dev

Deployment 🚀

Thanks for sharing 🚀

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages