A full-stack, production-ready e-commerce platform built with the MERN stack, featuring real-time notifications, AI-powered recommendations, and enterprise-grade security.
Experience the full-featured e-commerce platform in action!
- π Complete E-Commerce Flow - Browse, cart, checkout, payment, order tracking
- π³ Payment Integration - Razorpay payment gateway with test mode
- π Authentication & Authorization - JWT-based auth with role-based access
- π¦ Order Management - Real-time order tracking with timeline visualization
- β Reviews & Ratings - Product reviews with image upload support
- β€οΈ Wishlist - Save favorite products
- π Advanced Search - Autocomplete with search history and suggestions
- π― Product Comparison - Side-by-side product comparison
- π€ AI Chatbot - Google Gemini AI-powered customer support
- π Real-Time Notifications - Socket.IO for instant updates
- π Analytics Dashboard - Sales, revenue, and user behavior tracking
- π Coupon System - Discount codes and promotional offers
- π Loyalty Program - Points system with tiered memberships
- π Recommendation Engine - Collaborative filtering for personalized suggestions
- π Dark/Light Theme - Smooth theme switching with persistence
- π± Fully Responsive - Mobile-first design
- π Admin Dashboard - Real-time analytics and insights
- π¦ Product Management - CRUD operations with bulk CSV import/export
- π₯ Customer Management - User analytics and segmentation
- π Order Management - Status updates and order processing
- π Sales Analytics - Visual charts and reports
- π Low Stock Alerts - Automated inventory notifications
- Runtime: Node.js 18+
- Framework: Express.js
- Database: MongoDB with Mongoose ODM
- Cache: Redis (optional)
- Authentication: JWT (JSON Web Tokens)
- Payment: Razorpay
- AI: Google Gemini API
- Real-time: Socket.IO
- Email: Nodemailer
- Framework: React 19
- Routing: React Router v7
- State Management: Context API
- Animations: Framer Motion
- Icons: React Icons
- HTTP Client: Axios
- Containerization: Docker & Docker Compose
- Orchestration: Kubernetes with Helm
- Monitoring: Prometheus & Grafana
- CI/CD: GitHub Actions
- Security Scanning: Trivy
- Code Quality: ESLint, SonarCloud
- Auto-scaling: Horizontal Pod Autoscaler
- Node.js 18+ and npm
- MongoDB 6.0+
- Docker & Docker Compose (for containerized deployment)
- Git
git clone https://github.com/Sumant3086/BuyIndiaX.git
cd buyindiax# Backend dependencies
npm install
# Frontend dependencies
cd client
npm install
cd ..# Copy example env file
cp .env.example .env
# Edit .env with your configuration
nano .envRequired environment variables:
# Server
NODE_ENV=development
PORT=5000
# Database
MONGODB_URI=mongodb://localhost:27017/buyindiax
# JWT
JWT_SECRET=your_super_secret_jwt_key
# Razorpay (Test Keys)
RAZORPAY_KEY_ID=rzp_test_SZT2as0qsWZtkR
RAZORPAY_KEY_SECRET=uJLKwIAhb6JcXu2PWIoBzHhC
# Google AI
GOOGLE_API_KEY=your_google_api_key
# Email (Optional)
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_passwordnode scripts/seedProducts.js# Start backend (port 5000)
npm run dev
# Start frontend (port 3000) - in another terminal
cd client
npm start# Build frontend
cd client
npm run build
cd ..
# Start server
npm start# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down- Kubernetes Setup - Complete Kubernetes deployment guide
- Helm Charts - Simplified deployment with Helm
- Deployment Guide - Production deployment instructions
- CI/CD Setup - GitHub Actions pipeline configuration
- Frontend Enhancements - UI/UX features documentation
buyindiax/
βββ client/ # React frontend
β βββ public/ # Static files
β βββ src/
β βββ components/ # Reusable components
β βββ context/ # Context providers
β βββ pages/ # Page components
β βββ theme/ # Theme & animations
β βββ utils/ # Utility functions
βββ middleware/ # Express middleware
βββ models/ # MongoDB models
βββ routes/ # API routes
βββ scripts/ # Utility scripts
βββ utils/ # Backend utilities
βββ .github/ # GitHub Actions workflows
βββ docker-compose.yml # Docker orchestration
βββ Dockerfile # Docker image definition
βββ server.js # Express server entry point
- β JWT Authentication - Secure token-based auth
- β Password Hashing - bcrypt with salt rounds
- β Rate Limiting - Per-user and IP-based limits
- β Input Sanitization - XSS and NoSQL injection prevention
- β Security Headers - Helmet.js with CSP
- β CORS Configuration - Controlled cross-origin requests
- β SQL Injection Prevention - Pattern detection
- β Secure Payment - PCI-DSS compliant Razorpay integration
- β¨ 3D Animations - Parallax scrolling and 3D transforms
- π Glassmorphism - Modern frosted glass effects
- π Smooth Transitions - Framer Motion animations
- π± Mobile Responsive - Touch-friendly interactions
- βΏ Accessible - ARIA labels and keyboard navigation
- π¨ Theme System - Dark/light mode with smooth transitions
- β‘ Performance Optimized - Code splitting and lazy loading
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/me- Get current user
GET /api/products- Get all productsGET /api/products/:id- Get product by IDGET /api/products/search- Search productsPOST /api/products- Create product (Admin)PUT /api/products/:id- Update product (Admin)DELETE /api/products/:id- Delete product (Admin)
POST /api/orders- Create orderGET /api/orders- Get user ordersGET /api/orders/:id- Get order by IDPUT /api/orders/admin/:id/status- Update order status (Admin)
GET /api/cart- Get user cartPOST /api/cart/add- Add item to cartPUT /api/cart/update/:id- Update cart itemDELETE /api/cart/remove/:id- Remove from cart
POST /api/payment/create-order- Create Razorpay orderPOST /api/payment/verify- Verify payment
# Run backend tests
npm test
# Run frontend tests
cd client
npm test
# Run with coverage
npm run test:coverage# Build and start
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose down# Quick deploy
cd k8s
chmod +x deploy.sh
./deploy.sh
# Or use Helm
helm install buyindiax ./helm/buyindiax -n buyindiax --create-namespaceSee KUBERNETES_SETUP.md for complete guide.
See DEPLOYMENT.md for detailed instructions.
Automated deployment via GitHub Actions. See CI-CD-SETUP.md.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Sumant
- GitHub: @Sumant3086
- LinkedIn: Sumant
- Razorpay for payment gateway
- Google for Gemini AI API
- MongoDB for database
- React team for amazing framework
- Framer Motion for animations
For support, email support@buyindiax.com or open an issue on GitHub.
β Star this repo if you find it helpful!
Made with β€οΈ by Sumant



