A professional MERN stack application featuring a modern E-commerce experience with integrated EMI plans backed by mutual funds.
- 🚀 Modern Tech Stack: Built with Next.js 15 (App Router) and Tailwind CSS 4.0.
- 📱 Responsive Design: Fully optimized for mobile, tablet, and desktop views.
- 🎨 Premium UI/UX: Smooth animations powered by Framer Motion and icons by Lucide React.
- 🛠️ Dynamic Product Pages: Automatic generation of SEO-friendly product URLs.
- 🔢 EMI Calculator: Real-time monthly cost calculation with flexible interest rates and terms.
- 🛒 Cart & Auth: Complete user flow from registration to checkout with cart persistence.
- Framework: Next.js 15
- Styling: Tailwind CSS 4.0
- Animations: Framer Motion
- State Management: [React Context API / Redux]
- Icons: Lucide React
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB
- ORM: Mongoose
- Authentication: [JWT & BcryptJS]
EMI_Store/
├── client/ # Next.js Frontend
│ ├── app/ # App Router pages
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions
│ └── public/ # Static assets
└── server/ # Express Backend
├── models/ # Mongoose schemas
├── routes/ # API endpoints
├── middleware/ # Auth & validation
└── seed.js # Database seeding script
- Node.js (v18+)
- MongoDB (Running locally or Atlas)
-
Clone the repository
git clone <repository-url> cd EMI_Store
-
Backend Configuration
cd server npm install # Create a .env file with your MONGO_URI and JWT_SECRET node seed.js # Populate the database with initial products npm run dev # Start with Nodemon
The server runs on http://localhost:5000
-
Frontend Configuration
cd ../client npm install npm run dev # Start the development server
The client runs on http://localhost:3000 (standard) or http://localhost:3001
| Endpoint | Method | Description |
|---|---|---|
/api/products |
GET |
Fetch all products |
/api/products/:slug |
GET |
Get specific product details |
/api/auth/register |
POST |
Register a new user |
/api/auth/login |
POST |
User authentication |
/api/cart |
GET/POST |
Manage user cart items |