Check out the live demo of Buyza: 👉 Buyza
Buyza is a robust platform designed to facilitate online buying and selling for multiple vendors. It streamlines the management of products, orders, payments, shops, users, and more. The system provides dedicated dashboards for Admin, Sellers, and Customers, enabling efficient communication, order management, and real-time updates across the marketplace ecosystem.
The platform leverages modern web technologies and a scalable database schema to ensure security, performance, and ease of use for all stakeholders.
- Centralize and digitize e-commerce operations (product management, orders, payments, reviews)
- Enable role-based access and workflows for admin, sellers, and customers
- Provide updates and notifications
- Ensure secure data management and privacy
- Offer a user-friendly, responsive interface for all users
- Frontend: React.js (Vite), Tailwind CSS, Redux
- Backend: Node.js, Express.js, MongoDB
- Database: MongoDB (Mongoose ORM)
- Deployment: Vercel (frontend), Render (backend/socket), MongoDB cloud (Database)
- Built with React.js (Vite)
- Modular, role-based dashboards
- Tailwind CSS for styling
- Redux for state management
- Responsive and accessible UI
- Node.js and Express.js for server-side logic
- Mongoose ORM for database access
- Organized code:
controller/,model/,routes/,middleware/,utils/ - Secure role-based route protection
- MongoDB via Mongoose
- Models: User, Shop, Product, Order, Coupon, Event, Message, Conversation, Review, Payment
- Relational schema with references and enums
- Browse products, shops, and events
- Place orders and make payments
- View order history and track status
- Write reviews and ratings
- Receive notifications and offers
- Manage shop profile and products
- View and process orders
- Create coupons and events
- Communicate with customers (messages)
- Analyze sales and performance
- Full CRUD for all entities (users, shops, products, orders, etc.)
- Manage platform-wide settings, events, and coupons
- Oversee transactions and refunds
- Role and access management
- Frontend: React.js, Vite, Tailwind CSS, Redux
- Backend: Node.js, Express.js, Mongoose
- Database: MongoDB
- Other: Cloudinary (media), JWT (authentication), Stripe (payments), ESLint, PostCSS
| Model | Key Fields |
|---|---|
| User | id, name, email, password, role, address, orders[], shopId |
| Shop | id, name, ownerId, products[], orders[], coupons[], events[] |
| Product | id, name, price, stock, shopId, reviews[], category, images[] |
| Order | id, products[], userId, shopId, status, paymentInfo, total |
| Coupon | id, code, discount, shopId, expiryDate |
| Event | id, title, description, startTime, endTime, shopId |
| Message | id, senderId, receiverId, content, conversationId, date |
| Conversation | id, participants[], messages[], lastMessage |
| Review | id, rating, comment, productId, userId, date |
| Payment | id, orderId, userId, amount, status, method |
Sign Up → Login → Browse Products/Shops → Place Order → Make Payment → Track Order → Write Review
Login → Manage Shop/Products → View Orders → Process Orders → Create Coupons/Events → Communicate with Customers
Login → Manage All Entities → Oversee Platform Data → Manage Events/Coupons/Refunds
- Secure authentication and role-based access (JWT)
- Passwords and sensitive data never stored in frontend
- Modular, maintainable code structure
- RESTful API conventions
- Responsive, accessible UI (Tailwind CSS)
- Type safety and validation (Mongoose, ESLint)
- Version control (GitHub)
Hassan Mehmood
Full-Stack Developer | MERN Stack | Next.js | Scalable Web Apps
This project is licensed under the MIT License.

