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/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
Thanks for sharing 🚀