A modern, full-featured e-commerce platform built with React, Vite, and Node.js/Express backend, supporting multiple user roles (Admin, Seller, Buyer) with comprehensive shopping, payment integration (SSLCommerz), real-time messaging, and analytics capabilities.
- Live Demo: https://deshimart-1451e.web.app
- API Server: https://deshimart-server.onrender.com/
- GitHub Repository: https://github.com/mehedi67719/DESHIMART-Server
You can use the following accounts to test the platform:
- Email: meh67711@gmail.com
- Password: mehedi123
- Email: meh67719@gmail.com
- Password: mehedi123
- Email: jewel@gmail.com
- Password: jewel123
π‘ Note: These credentials are for testing purposes only. Please do not use them in production.
- Email/Password authentication
- Google OAuth integration via Firebase
- Private route protection for authenticated pages
- Role-based access control (Admin, Seller, Buyer)
- Analytics dashboard with insights
- User management (view all users)
- Product moderation and management
- Pending approval workflow for sellers/products
- Platform-wide oversight
- Product upload and management
- Order fulfillment tracking
- Customer management
- Sales analytics and performance metrics
- Become a seller application flow
- Order history and tracking
- Profile management
- Payment history
- Settings customization
- Favorite products
- Product browsing with categories
- Shopping cart functionality
- Favorites/wishlist system
- Product details view with dynamic routing
- Hot deals section
- Collection pages
- Local stores integration
- Secure payment processing with SSLCommerz
- Payment initiation and gateway integration
- Payment success/failure/cancellation handling
- Transaction tracking and management
- Payment history tracking
- Integrated messenger system (Socket.io)
- Real-time chat functionality
- Room-based chat architecture
- Notification system
- Real-time updates
- Blog listing and navigation
- Single blog post view
- Dynamic blog content loading
- Blog categorization
- Responsive design with Tailwind CSS
- Modern interface with Lucide React icons
- Interactive charts with Chart.js and Recharts
- Form handling with React Hook Form
- Toast notifications with SweetAlert2
- Intersection Observer for infinite scroll
- React 19.2.0
- Vite 7.2.4
- @vitejs/plugin-react 5.1.1
- Tailwind CSS 4.1.18
- @tailwindcss/vite 4.1.18
- Lucide React 0.564.0
- React Icons 5.5.0
- TanStack Query (React Query) 5.90.19
- Axios 1.13.2
- React Router 7.12.0
- React Hook Form 7.71.1
- Chart.js 4.5.1
- React Chartjs 2 5.3.1
- Recharts 3.7.0
- date-fns 4.1.0
- SweetAlert2 11.26.17
- React Intersection Observer 10.0.3
- Heroicons React 2.2.0
- Node.js
- Express.js 5.2.1
- MongoDB 7.0.0
- MongoDB Native Driver
- SSLCommerz-LTS 1.2.0
- Socket.io 4.8.3
- CORS 2.8.6
- dotenv 17.2.3
- Firebase 12.8.0 (Authentication & Hosting)
- Node.js (v18 or higher recommended)
- npm or yarn
- MongoDB (for backend)
- Firebase account (for authentication & hosting)
- SSLCommerz store credentials (for payment gateway)
-
Clone the repository
git clone https://github.com/mehedi67719/DESHIMART.git cd DESHIMART -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the root directory and add your Firebase configuration:VITE_FIREBASE_apiKey=your_api_key VITE_FIREBASE_authDomain=your_auth_domain VITE_FIREBASE_projectId=your_project_id VITE_FIREBASE_storageBucket=your_storage_bucket VITE_FIREBASE_messagingSenderId=your_messaging_sender_id VITE_FIREBASE_appId=your_app_id
-
Start development server
npm run dev
-
Build for production
npm run build
-
Preview production build
npm run preview
-
Deploy to Firebase Hosting
npm install -g firebase-tools firebase login firebase init hosting npm run build firebase deploy
-
Clone the backend repository
git clone https://github.com/mehedi67719/DESHIMART-Server.git cd DESHIMART-Server -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the backend root directory:MONGO_URI=your_mongodb_connection_string STORE_ID=your_sslcommerz_store_id STORE_PASSWD=your_sslcommerz_store_password
-
Start the server
node index.js
Server will start on port 3000
GET /top-categories- Get top selling categoriesGET /search- Search products by name, description, category, brand, tags- Full CRUD operations for products
- Product filtering and sorting
GET /all-users- Get all usersGET /all-users-summary- Get monthly user summaryPOST /- Create new userPATCH /update-role- Update user roleGET /pending-user- Get pending seller requestsGET /?email=- Get user by email
POST /init- Initialize SSLCommerz paymentPOST /payment-success/:tran_id- Handle payment successPOST /payment-fail/:tran_id- Handle payment failurePOST /payment-cancel/:tran_id- Handle payment cancellation
- Full cart management operations
- Wishlist/favorites management
- Real-time messaging with Socket.io
- Room-based chat functionality
- Blog post CRUD operations
/categorys- Category management/brands- Brand management/Stores- Local stores management/notification- User notifications/admin-notification- Admin notifications/all-total- Analytics and statistics
products- Product cataloglocalstores- Local store listingscart- Shopping cartsfavorite- Favorites/wishlistspayment- Payment transactionsuser- User accountschat- Chat messagesnotifications- User notificationsadminNotification- Admin notificationsblog- Blog posts
- Frontend: Deploy on Firebase (configure your Firebase project URL)
- Backend API: https://deshimart-server.vercel.app
- Frontend Repository: https://github.com/mehedi67719/DESHIMART
- Backend Repository: https://github.com/mehedi67719/DESHIMART-Server
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run preview- Preview production build
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
Mehedi Hassan
GitHub: @mehedi67719
Built with β€οΈ using React + Vite
