A full-featured e-commerce web application built with the MERN stack, featuring secure authentication, cart management, Razorpay payment integration, and an admin dashboard.
π Live Demo: nxt-trendz-fullstack.vercel.app π API: nxt-trendz-fullstack.onrender.com
- π JWT-based authentication (Register/Login)
- ποΈ Browse products with search, filter by category & rating, sort by price
- π¦ Product detail page with similar products
- π Persistent cart (synced with MongoDB)
- π³ Razorpay payment integration (UPI, Cards, NetBanking)
- π Order history with payment and delivery status
- π Role-based access control (Admin/User)
- π Admin dashboard with Orders, Products, Users tabs
- π Update order status (Processing β Shipped β Delivered)
- β Add/Delete products
- π₯ View and delete users
nxt-trendz-fullstack/
βββ client/ # React + Vite Frontend
β βββ src/
β β βββ components/ # 18+ React components
β β βββ context/ # Cart Context
β β βββ utils/ # API utility with base URL
β βββ vercel.json # Client-side routing config
βββ server/ # Express Backend
βββ controllers/ # Auth, Cart, Orders, Payment, Admin
βββ middleware/ # JWT protect + admin guard
βββ models/ # User, Cart, Order, Product
βββ routes/ # 20+ REST API endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | Register new user |
| POST | /api/auth/login | Login user |
| GET | /api/auth/profile | Get user profile |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/cart | Get user cart |
| POST | /api/cart | Add item to cart |
| PUT | /api/cart/:productId | Update quantity |
| DELETE | /api/cart/:productId | Remove item |
| DELETE | /api/cart/clear | Clear cart |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/orders | Place order |
| GET | /api/orders/my | Get my orders |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/payment/create-order | Create Razorpay order |
| POST | /api/payment/verify | Verify payment signature |
- Node.js 18+
- MongoDB Atlas account
- Razorpay test account
# Clone the repo
git clone https://github.com/hrutik-codes/nxt-trendz-fullstack.git
cd nxt-trendz-fullstack
# Install dependencies
npm install
cd client && npm install
cd ../server && npm installCreate server/.env:
PORT=5000
MONGO_URI=your_mongodb_atlas_uri
JWT_SECRET=your_jwt_secret
RAZORPAY_KEY_ID=rzp_test_your_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
CLIENT_URL=http://localhost:5173
NODE_ENV=development
Create client/.env:
VITE_API_URL=http://localhost:5000
# From root directory
npm run devRuns both frontend (port 5173) and backend (port 5000) concurrently.
Admin Account:
Email: [email protected]
Password: 123456
Test Payment (Razorpay):
UPI ID: success@razorpay
| Service | Platform | URL |
|---|---|---|
| Frontend | Vercel | nxt-trendz-fullstack.vercel.app |
| Backend | Render | nxt-trendz-fullstack.onrender.com |
| Database | MongoDB Atlas | Cloud hosted |
β οΈ Render free tier spins down after 15 min inactivity. First request may take ~30 seconds.
Hrutik Jagdale
- GitHub: @hrutik-codes
MIT Β© 2026 Hrutik Jagdale
