Inventory Management System

An full-stack MERN based application to manage Inventory
Web App
On-going project
Started on Fri Jan 31 2025
project_img

📖 Overview

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.


🧠 Why I Built It

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.


🔍 Key Features

🔐 Authentication & Roles

  • 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

📦 Products & Categories

  • 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

🏬 Warehouses & Suppliers

  • Add and manage multiple warehouses

  • Supplier management with full CRUD operations

📊 Stock Management

  • Update product stock

  • Track stock logs (history of stock changes per product)

  • Real-time notifications if stock drops below threshold

🔔 Notifications

  • Smart alerts to notify admin when stock is low

  • (Future scope: email-based alerts and analytics dashboards)

👨‍💼 User & Staff Management

  • Create, list, and update staff/users

  • Assign roles and access dynamically (scalable for larger teams)

🧑‍🎨 Frontend Excellence

  • 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


📁 Tech Stack

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)


🛠 What I Learned

  • 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

  • Ensuring clean UX with confirmation modals and status indicators
  • Planning scalable project structure and clear separation of concerns


🌐 Future Enhancements

  • 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

Visit Project
Contributed By

Akash Srivastava
Software Engineer @ Seawoods Ventures Inc.