A full-stack group project for inventory management, built with a Node.js + Express + Sequelize backend and a React + Vite frontend.
This repository includes:
backend/— REST API server for inventory, customers, suppliers, purchase orders, GRN, sales, stock adjustments, stock movements, reports, and user authentication.frontend/— React dashboard application with charts, PDF export, routing, and inventory management UI.database/— MySQL schema and model resources.
- Backend API: https://ims-backend-server.vercel.app/
- Frontend App: https://ims-premium-inventory.vercel.app/
This project was developed by a team effort:
| Name | Role | GitHub |
|---|---|---|
| Nugitha Disas | Full Stack Developer | @Nugi29 |
| Ishara Udayamali | Full Stack Developer | @isharaudayamali |
| Imasha Fernando | Full Stack Developer | @ImaFdo |
- 🟩 Node.js
- ⚡ Express
- 🧩 Sequelize
- 🐬 MySQL
- 🔐 JSON Web Tokens
- 📧 Brevo API (Mail Service)
- ⚛️ React 19 with Vite 8
- 🛣️ React Router 7
- 🎨 Tailwind CSS 4
- 📡 Axios
- 🔔 React Toastify
- 📈 Recharts
- 🖨️ @react-pdf/renderer
- ☁️ Vercel for deployment
- 💾 MySQL hosted on Railway
- Node.js 18+ and npm
- MySQL database credentials (Railway-hosted or local)
- Optional: Vercel account for deploys
cd backend
npm installCreate a .env file in backend/ with your Railway or local MySQL credentials, then run:
npm run startcd frontend
npm install
npm run devAccess the frontend at the Vite URL displayed in the terminal.
- Backend entry point:
backend/server.js - Frontend entry point:
frontend/src/main.jsx - API base URL is configured in
frontend/src/services/httpClient.js - MySQL database is hosted on Railway for production
- Vercel configurations are available in
backend/vercel.jsonandfrontend/vercel.json
- Frontend:
http://localhost:5173 - Backend:
http://localhost:3000