A full-stack inventory and job management system built for automotive shops, featuring separate tracking for Tire Shop and Body Shop sections.
- Dual Section Tracking - Separate inventory for Tire Shop and Body Shop
- Real-time Search - Quick filtering of inventory items
- CSV Import - Bulk import inventory data
- Price Tracking - Automatic pricing for all parts
- Low Stock Alerts - Dashboard alerts for items below threshold
- Category Management - Organized part categorization
- Job Creation - Track customer jobs with details
- Part Assignment - Link inventory items to specific jobs
- Part Status Tracking - Monitor if parts are Ordered, Ordering, or Received
- Cost Calculation - Automatic job cost totaling
- Job Status - Active, Completed, and Cancelled states
- Document Ready - Frontend prepared for file uploads
- Inventory Overview - Total items and value by section
- Low Stock Monitoring - Color-coded alerts (Critical, Warning, Low)
- Active Jobs Count - Quick view of current workload
- Section Values - Separate Tire Shop and Body Shop totals
- Dark Mode - Eye-friendly dark theme with toggle
- Responsive Design - Works on desktop, tablet, and mobile
- Modern UI - Clean, professional interface
- Status Badges - Color-coded visual indicators
- React 18
- React Router v6
- Axios for API calls
- Lucide React icons
- CSS3 with CSS variables
- Node.js
- Express.js
- Better-sqlite3 database
- JWT authentication
- RESTful API
- Node.js (v14 or higher)
- npm or yarn
git clone https://github.com/YOUR_USERNAME/inventory-management-system.git
cd inventory-management-systemcd backend
npm install
npm run init-db
npm startBackend will run on http://localhost:3001
cd frontend
npm install
npm startFrontend will run on http://localhost:3000
Username: admin
Password: admin123
inventory-management-system/
βββ backend/
β βββ src/
β β βββ routes/ # API routes
β β βββ models/ # Database models
β β βββ middleware/ # Auth middleware
β β βββ server.js # Express server
β βββ scripts/ # Utility scripts
β βββ database.sqlite # SQLite database
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ context/ # React context
β βββ public/
βββ README.md
- Switch between Tire Shop and Body Shop inventory
- Independent tracking and management
- Section-specific low stock alerts
- Create jobs with customer information
- Assign parts with quantity tracking
- Monitor part ordering status
- View total job costs
- Delete completed or cancelled jobs
- Tire Shop inventory value
- Body Shop inventory value
- Low stock items table with status indicators
- Active jobs counter
- Toggle between light and dark themes
- Persistent preference storage
- Smooth color transitions
- Optimized for reduced eye strain
Create .env file in backend directory:
NODE_ENV=development
PORT=3001
JWT_SECRET=your-secret-key-hereThe system uses SQLite for easy setup. Database schema includes:
- Users
- Inventory Items
- Jobs
- Job Items
- Import Logs
POST /api/auth/login- User loginPOST /api/auth/register- User registration
GET /api/inventory- Get all itemsGET /api/inventory/:id- Get single itemPOST /api/inventory- Create itemPUT /api/inventory/:id- Update itemDELETE /api/inventory/:id- Delete itemPOST /api/inventory/import- CSV import
GET /api/jobs- Get all jobsGET /api/jobs/:id- Get job detailsPOST /api/jobs- Create jobPUT /api/jobs/:id- Update jobDELETE /api/jobs/:id- Delete jobPOST /api/jobs/:id/items- Add parts to jobDELETE /api/jobs/:jobId/items/:itemId- Remove part from job
- File upload for job documents/photos
- PDF invoice generation
- Email notifications
- Advanced reporting
- Multi-user roles and permissions
- Backup and restore functionality
- Mobile app
Contributions, issues, and feature requests are welcome!
Francesco Assalone
- GitHub: @francescoa27122
- Built with modern web technologies
- Designed for automotive shop management
- Optimized for real-world use