This is a robust and scalable Inventory Management System built with the MERN stack (MongoDB, Express, React, Node.js), designed to streamline warehouse operations, product tracking, supplier management, and staff roles.
It provides an admin dashboard to control inventory lifecycle end-to-end, while allowing staff members limited access to manage stock updates. The system emphasizes role-based access, intuitive UI, responsive mobile-first design, and clean architecture with modular components.
Inventory systems are the heartbeat of any retail, warehouse, or e-commerce business. I wanted to build a real-world, production-grade solution that could handle everything from stock alerts to supplier records—fully aligned with how enterprise-level tools work. This also helped me solidify my understanding of REST APIs, component-driven frontend development, and practical database modeling.
Signup, login, logout
Role-based access: Admin vs User/Staff
Staff can only view and update stock quantities
Admin has full access to manage all entities
CRUD operations on Products & Categories
List and filter products with search functionality
Product quantity tracking and price handling
Responsive and elegant table UI with modals for Add/Edit actions
Add and manage multiple warehouses
Supplier management with full CRUD operations
Update product stock
Track stock logs (history of stock changes per product)
Real-time notifications if stock drops below threshold
Smart alerts to notify admin when stock is low
(Future scope: email-based alerts and analytics dashboards)
Create, list, and update staff/users
Assign roles and access dynamically (scalable for larger teams)
Built using Vite + React + TypeScript + Tailwind CSS
UI powered by ShadCN UI components for themeable and accessible design
Mobile-first responsive layout with smooth dialogs and tables
Clean code architecture using layouts, route-based rendering, and reusable components
Layer | Tech Used |
---|---|
Frontend | React, Vite, TypeScript, Tailwind CSS, ShadCN UI |
Backend | Node.js, Express.js |
Database | MongoDB (with Mongoose ODM) |
Auth | JWT-based authentication |
UI/UX | Mobile-first, Accessible, Theme Toggle UI |
State Mgmt | React hooks (useState/useEffect/useContext) |
Building full-stack RESTful APIs with proper role-based protection
Designing mobile-first layouts and modular React components
Handling conditional UI rendering based on user roles
Planning scalable project structure and clear separation of concerns
Export reports as CSV or PDF
Graph-based dashboards (e.g., using Recharts or Chart.js)
Pagination and server-side filtering
AI-powered demand forecasting module
Multi-warehouse inventory distribution logic