A full-stack Inventory Management Platform built with Node.js, Express, React, and MongoDB. Easily manage products, categories, and track inventory with a modern, user-friendly interface.
- 🔐 JWT Authentication — Secure login & registration with role-based access (Admin/User)
- 📦 Product Management — Add, view, update, and delete products with category linking
- 🏷️ Category Management — Organize products using custom categories
- 🔍 Search & Filter — Find products by name, description, or category
- 📊 Pagination — Efficient pagination for large product lists
- 🎨 Modern UI — Responsive, clean interface built with React + Vite
- 📝 Structured Logging — Integrated Winston logging (console + file)
Ensure the following are installed before setup:
- Node.js (v18 or higher)
- npm (v9 or higher)
Verify installation:
node --version
npm --version- Clone the repository
- Open the folder named
InventoHub.
Inside the root folder (InventoHub), create a file named .env and add:
PORT=5000
MONGO_URI=mongodb+srv://Parkavi:[email protected]/?appName=Cluster0
JWT_SECRET=4f6ad4f54bd587b501e0d593b7ee6eb6e2ef0768f673c960b0c17c0595013712355ede0a0578284868914c0afcbf6bd76acb048ab6faaa455bb61d024f661c44cd InventoHub
npm installStart the backend server:
npm run devcd InventoHub and then cd frontend
npm installStart the frontend development server:
npm run devOnce both servers are running, open your browser and go to:
You can use the following demo accounts to explore the application:
| Role | Password | |
|---|---|---|
| Admin | [email protected] |
8ShT*x8d4EAn#ga |
| User | [email protected] |
BWcc.6rxdn.3zJc |
⚠️ Note: These are demo credentials for testing purposes only. Please do not change or misuse these accounts.