A full-stack e-commerce platform built with React.js, Node.js, Express.js, and MongoDB. VogueNext offers a complete online shopping experience with separate customer and admin interfaces.
- Product Browsing: Browse products by categories (Men, Women, Kids)
- Product Search: Search functionality with filters
- Shopping Cart: Add/remove items, quantity management
- User Authentication: Secure login and registration
- Order Management: Place orders with multiple payment options
- Order Tracking: View order history and status
- Responsive Design: Mobile-friendly interface
- Product Management: Add, update, and remove products
- Order Management: View and update order status
- Inventory Control: Manage product stock and details
- Admin Dashboard: Comprehensive overview of business metrics
- Cash on Delivery (COD)
- Stripe Payment Gateway
- Razorpay Payment Gateway
- React.js - UI library
- Vite - Build tool
- Tailwind CSS - Styling
- React Router - Navigation
- Axios - HTTP client
- React Toastify - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM
- JWT - Authentication
- Bcrypt - Password hashing
- Cloudinary - Image storage
- Multer - File upload
- Stripe - Online payments
- Razorpay - Online payments
ecommerce/
βββ frontend/ # React.js customer interface
β βββ src/
β β βββ assets/ # Static assets
β β βββ components/ # Reusable components
β β βββ context/ # Context API
β β βββ pages/ # Page components
β βββ package.json
βββ backend/ # Node.js API server
β βββ config/ # Database and service configs
β βββ controllers/ # Route controllers
β βββ middleware/ # Custom middleware
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ server.js # Entry point
βββ adminPortal/ # React.js admin interface
β βββ src/
β β βββ assets/ # Admin assets
β β βββ components/ # Admin components
β β βββ pages/ # Admin pages
β βββ package.json
βββ README.md
- Node.js (v14 or higher)
- MongoDB
- Cloudinary account
- Stripe account (optional)
- Razorpay account (optional)
- Navigate to the backend directory:
cd backend- Install dependencies:
npm install- Create a
.envfile with the following variables:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your_admin_password
CLOUDINARY_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_SECRET_KEY=your_cloudinary_secret_key
STRIPE_SECRET_KEY=your_stripe_secret_key
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret- Start the backend server:
npm start- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Create a
.envfile:
VITE_BACKEND_URL=http://localhost:5000
VITE_RAZORPAY_KEY_ID=your_razorpay_key_id- Start the frontend development server:
npm run dev- Navigate to the admin portal directory:
cd adminPortal- Install dependencies:
npm install- Create a
.envfile:
VITE_BACKEND_URL=http://localhost:5000- Start the admin portal:
npm run devPOST /api/user/register- User registrationPOST /api/user/login- User loginPOST /api/user/admin- Admin login
GET /api/product/list- Get all productsPOST /api/product/add- Add product (Admin)POST /api/product/remove- Remove product (Admin)
POST /api/cart/add- Add to cartPOST /api/cart/update- Update cartPOST /api/cart/get- Get user cart
POST /api/order/place- Place order (COD)POST /api/order/stripe- Stripe paymentPOST /api/order/razorpay- Razorpay paymentPOST /api/order/userorders- Get user ordersPOST /api/order/list- Get all orders (Admin)POST /api/order/status- Update order status (Admin)
- Visit the frontend URL (default: http://localhost:5173)
- Browse products or search for specific items
- Register/Login to your account
- Add products to cart
- Proceed to checkout and place order
- Track your orders in the Orders section
- Visit the admin portal URL (default: http://localhost:5174)
- Login with admin credentials
- Add new products with images and details
- Manage existing products
- View and update order statuses
- Monitor business analytics
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Modern UI: Clean and intuitive user interface
- Dark/Light Theme: Support for different viewing preferences
- Fast Loading: Optimized for performance
- SEO Friendly: Structured for search engine optimization
- JWT Authentication: Secure token-based authentication
- Password Hashing: Bcrypt for secure password storage
- Input Validation: Server-side validation for all inputs
- CORS Protection: Cross-origin resource sharing configuration
- Payment Security: Secure payment processing with encrypted transactions
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production buildnpm start # Start server
npm run dev # Start with nodemon (development)- 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.md file for details.
For support, email voguenext@gmail.com or create an issue in the GitHub repository.
- Wishlist functionality
- Product reviews and ratings
- Advanced filtering options
- Email notifications
- Social media integration
- Multi-language support
- Advanced analytics dashboard
- Inventory management alerts
VogueNext - Where great style never fades! ποΈ# vogueNext