Zunzo is a full-stack e-commerce platform built with the MERN stack (MongoDB, Express.js, React, Node.js). It provides a seamless shopping experience with features for customers, sellers, and administrators.
Check out the live demo: Zunzo - Everything You Need, One Click Away
- User authentication (register, login)
- Browse products by category
- Product search and filtering
- Product details view
- Shopping cart functionality
- Checkout process
- Order history
- User profile management
- Contact form
- Seller dashboard
- Product management (add, edit, delete)
- Order management
- Admin dashboard
- User management
- Product oversight
- Contact message management
- React 19
- React Router v6
- React Query (TanStack Query)
- Tailwind CSS 4
- React Hot Toast
- Axios
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication
- Bcrypt.js for password hashing
- Zod for validation
Zunzo/
├── client/ # Frontend React application
│ ├── public/ # Public assets
│ ├── src/ # Source files
│ │ ├── components/ # Reusable components
│ │ ├── context/ # Context providers
│ │ ├── pages/ # Page components
│ │ │ ├── admin/ # Admin pages
│ │ │ └── seller/ # Seller pages
│ │ └── ...
├── server/ # Backend Node.js/Express application
│ ├── controllers/ # Route controllers
│ ├── middlewares/ # Express middlewares
│ ├── models/ # Mongoose models
│ ├── routes/ # Express routes
│ ├── utils/ # Utility functions
│ ├── validators/ # Validation schemas
│ └── server.js # Entry point
└── ...
- Node.js (v16.20.1 or higher)
- MongoDB
-
Clone the repository
git clone <repository-url> cd Zunzo
-
Install dependencies
# Install root dependencies (if any) npm install # Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
-
Environment Variables
Create a
.envfile in the server directory with the following variables:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET_KEY=your_jwt_secret FRONTEND_URI=http://localhost:5173
-
Start the backend server
cd server npm run server -
Start the frontend development server
cd client npm run dev -
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
POST /api/auth/register- Register a new userPOST /api/auth/login- Login a user
GET /api/products- Get all productsPOST /api/products- Add a new product (protected)
GET /api/orders- Get user orders (protected)POST /api/orders- Create a new order (protected)
POST /api/contact- Submit a contact form
GET /api/admin/users- Get all users (admin only)GET /api/admin/contacts- Get all contact submissions (admin only)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.