A modern, feature-rich e-commerce platform built with React, TypeScript, Express, and MongoDB Atlas.
Frontend (Live): https://e-commerce-website-zntj-3ikanb5ta-bishal-boros-projects.vercel.app
Note: Backend is deployed at https://e-commerce-website-iota-beige.vercel.app. Full functionality is available.
- Modern, responsive design with dark mode support
- Smooth animations and transitions
- Interactive fish animation effect that follows your cursor
- Glassmorphism and floating card effects
- Professional typography with Google Fonts (Inter, Outfit)
- Product Catalog: Browse 123+ products across multiple categories
- Advanced Filtering: Filter by category, price range, and search
- Product Details: Detailed product pages with images and descriptions
- Shopping Cart: Add, remove, and manage cart items
- Wishlist: Save products for later
- Secure JWT-based authentication
- Role-based access control (Customer, Seller, Admin)
- User registration and login
- Password encryption with bcrypt
- Protected routes and API endpoints
- Complete checkout process
- Order history and tracking
- Order status updates
- Detailed order information
- User management (view, edit, delete users)
- Order management and tracking
- Product management
- Analytics and statistics
- Role assignment and permissions
- Product creation and management
- Inventory tracking
- Sales analytics
- Order fulfillment
- Real-time Notifications: Toast notifications for user actions
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- SEO Optimized: Proper meta tags and semantic HTML
- Performance: Optimized images and lazy loading
- Accessibility: ARIA labels and keyboard navigation
- React 18 - UI library
- TypeScript - Type safety
- Vite - Build tool and dev server
- React Router - Client-side routing
- Axios - HTTP client
- Sonner - Toast notifications
- Lucide React - Icon library
- React Hook Form - Form management
- Zod - Schema validation
- Node.js - Runtime environment
- Express - Web framework
- MongoDB Atlas - Cloud database
- Mongoose - ODM for MongoDB
- JWT - Authentication
- bcryptjs - Password hashing
- CORS - Cross-origin resource sharing
βββ frontend/ # React + TypeScript + Vite
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ features/ # Feature-based modules
β β βββ pages/ # Page components
β β βββ api/ # API client
β β βββ styles/ # Global styles
β βββ public/
β βββ package.json
β
βββ backend/ # Express + MongoDB
β βββ src/
β β βββ controllers/ # Request handlers
β β βββ models/ # Mongoose models
β β βββ routes/ # API routes
β β βββ middleware/ # Custom middleware
β β βββ config/ # Configuration files
β βββ .env
β βββ package.json
β
βββ README.md
- Node.js (v16 or higher)
- MongoDB Atlas account
- Git
-
Clone the repository
git clone https://github.com/Bishaldgr8/e-commerce-website.git cd e-commerce-website -
Install dependencies
# Install all dependencies (frontend + backend) npm install # Or install separately cd frontend && npm install cd ../backend && npm install
-
Environment Variables
Create a
.envfile in thebackend/directory:PORT=5000 NODE_ENV=development JWT_SECRET=your_jwt_secret_here MONGODB_URI=your_mongodb_connection_string
Create a
.envfile in thefrontend/directory:VITE_API_URL=http://localhost:5000/api/v1
-
Seed the Database
cd backend node seed_full.js node create_admin.js -
Run the Application
# From root directory - runs both frontend and backend npm run dev # Or run separately cd frontend && npm run dev # Frontend on http://localhost:5173 cd backend && npm run dev # Backend on http://localhost:5000
- Email:
admin@secretshop.com - Password:
********(contact me for access)
- Modern Aesthetics: Vibrant gradients, smooth animations, and glassmorphism effects
- Dark Mode: Full dark mode support with proper contrast
- Interactive Elements: Hover effects, micro-animations, and cursor-following fish effect
- Premium Feel: Professional color palette and typography
- Responsive: Mobile-first design that works on all devices
- JWT-based authentication
- Password hashing with bcrypt
- Role-based access control (RBAC)
- Protected API routes
- Input validation and sanitization
- CORS configuration
- Environment variable protection
The application uses MongoDB Atlas with the following collections:
- Users: Customer, seller, and admin accounts
- Products: 123+ products across multiple categories
- Orders: Order history and tracking
- Cart: Shopping cart items
β
Browse and search products
β
Add items to cart and wishlist
β
Secure checkout process
β
Order history and tracking
β
User profile management
β
Product management (CRUD operations)
β
Inventory tracking
β
Sales analytics
β
Order fulfillment
β
Complete user management
β
Order oversight
β
Product moderation
β
System analytics
β
Role management
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - feel free to use this project for learning or commercial purposes.
Made with precision by BishalB
- π§ Email: bishalboro10062003@gmail.com
- π GitHub: @Bishaldgr8
- π Live Demo: The Secret Shop
- Icons by Lucide
- Fonts by Google Fonts
- Images from Unsplash
- Deployed on Vercel
β If you like this project, please give it a star on GitHub!





