https://github.com/francescoa27122/inventory-management-system
Full-stack inventory management system for Frank & Son Auto
https://github.com/francescoa27122/inventory-management-system
express inventory-managment nodejs python react scripts sqlite
Last synced: 3 months ago
JSON representation
Full-stack inventory management system for Frank & Son Auto
- Host: GitHub
- URL: https://github.com/francescoa27122/inventory-management-system
- Owner: francescoa27122
- Created: 2025-11-02T20:09:35.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-13T01:21:03.000Z (8 months ago)
- Last Synced: 2025-11-13T03:17:44.197Z (8 months ago)
- Topics: express, inventory-managment, nodejs, python, react, scripts, sqlite
- Language: JavaScript
- Homepage:
- Size: 721 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Inventory Management System
A full-stack inventory and job management system built for automotive shops, featuring separate tracking for Tire Shop and Body Shop sections.
## 🚀 Features
### Inventory Management
- **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
### Jobs Management
- **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
### Dashboard
- **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
### User Interface
- **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
## Tech Stack
### Frontend
- React 18
- React Router v6
- Axios for API calls
- Lucide React icons
- CSS3 with CSS variables
### Backend
- Node.js
- Express.js
- Better-sqlite3 database
- JWT authentication
- RESTful API
## 📋 Prerequisites
- Node.js (v14 or higher)
- npm or yarn
## Installation
### 1. Clone the repository
```bash
git clone https://github.com/YOUR_USERNAME/inventory-management-system.git
cd inventory-management-system
```
### 2. Setup Backend
```bash
cd backend
npm install
npm run init-db
npm start
```
Backend will run on `http://localhost:3001`
### 3. Setup Frontend
```bash
cd frontend
npm install
npm start
```
Frontend will run on `http://localhost:3000`
## Default Login
**Username:** `admin`
**Password:** `admin123`
## 📁 Project Structure
```
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
```
## Features in Detail
### Inventory Section Tabs
- Switch between Tire Shop and Body Shop inventory
- Independent tracking and management
- Section-specific low stock alerts
### Job Management
- Create jobs with customer information
- Assign parts with quantity tracking
- Monitor part ordering status
- View total job costs
- Delete completed or cancelled jobs
### Dashboard Analytics
- Tire Shop inventory value
- Body Shop inventory value
- Low stock items table with status indicators
- Active jobs counter
### Dark Mode
- Toggle between light and dark themes
- Persistent preference storage
- Smooth color transitions
- Optimized for reduced eye strain
## 🔧 Configuration
### Environment Variables
Create `.env` file in backend directory:
```env
NODE_ENV=development
PORT=3001
JWT_SECRET=your-secret-key-here
```
### Database
The system uses SQLite for easy setup. Database schema includes:
- Users
- Inventory Items
- Jobs
- Job Items
- Import Logs
## 📊 API Endpoints
### Authentication
- `POST /api/auth/login` - User login
- `POST /api/auth/register` - User registration
### Inventory
- `GET /api/inventory` - Get all items
- `GET /api/inventory/:id` - Get single item
- `POST /api/inventory` - Create item
- `PUT /api/inventory/:id` - Update item
- `DELETE /api/inventory/:id` - Delete item
- `POST /api/inventory/import` - CSV import
### Jobs
- `GET /api/jobs` - Get all jobs
- `GET /api/jobs/:id` - Get job details
- `POST /api/jobs` - Create job
- `PUT /api/jobs/:id` - Update job
- `DELETE /api/jobs/:id` - Delete job
- `POST /api/jobs/:id/items` - Add parts to job
- `DELETE /api/jobs/:jobId/items/:itemId` - Remove part from job
## Future Enhancements
- [ ] File upload for job documents/photos
- [ ] PDF invoice generation
- [ ] Email notifications
- [ ] Advanced reporting
- [ ] Multi-user roles and permissions
- [ ] Backup and restore functionality
- [ ] Mobile app
## Contributing
Contributions, issues, and feature requests are welcome!
## Author
**Francesco Assalone**
- GitHub: [@francescoa27122](https://github.com/francescoa27122)
## Acknowledgments
- Built with modern web technologies
- Designed for automotive shop management
- Optimized for real-world use