I wanted to build another eCommerce website using newer technologies than my previous eCommerce project, where I used Firebase 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).
- 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
Clone the project
git clone https://github.com/NightClover-code/modern-ecommerce.gitGo to the project directory
cd modern-ecommerceRemove remote origin
git remote remove originInstall dependencies - Client
yarn installInstall dependencies - Server
yarn installAdd Environment Variables - Client
Click to expand!
NEXT_PUBLIC_PAYPAL_CLIENT_ID
Add Environment Variables - Server
Click to expand!
MONGODB_PASSWORDMONGODB_DATABASE_NAMEJWT_SECRETMONGODB_URLSESSION_KEYCLIENT_URLCLOUDINARY_API_KEYCLOUDINARY_API_SECRETCLOUDINARY_NAME
Start the server
yarn start:devStart the client
yarn dev- @bradtraversy - Project Idea
- @satnaing - README format
Thanks for sharing 🚀
