A robust Inventory Management System built with Laravel 10, MySQL, Inertia.js and Vue.js, designed to streamline your inventory, sales, and purchasing processes. It's a Single Page Application (SPA)
Note: This project is cloned and extended from Inventory-Management-System-Laravel-SPA
- Dashboard Insight - Real-time business metrics and analytics
- POS (Point of Sale) - Fast and intuitive sales interface
- Orders Management
- Create and manage orders
- Due payments tracking
- Settle outstanding amounts
- Order details (PO date, delivery date, material specs)
- Transactions - Complete transaction history
- Categories - Product categorization
- Unit Types - Measurement units management
- Products - Comprehensive product information
- Material specifications (bahan, gramatur, ukuran)
- Cutting and plano sizes
- Delivery addresses
- Additional notes
- Customers - Customer relationship management
- Customer profiles with sales assignment
- New/Repeat customer status (auto-update)
- Commission tracking
- Join date tracking
- Suppliers - Supplier information management
- Sales - Sales team management
- Sales profiles with photo
- Contact information
- Active/Inactive status
- Employee - Employee data management
- Salary - Payroll and salary processing
- Expenses - Business expense tracking
- Sales Points - Sales performance tracking
- Points calculation per product type
- Box and Kertas Nasi Padang tracking
- Sales recap and leaderboard
- Outstanding Report - Accounts receivable monitoring
- Filter by date range
- Detailed order information
- Payment status tracking
- Top Customers - Customer ranking by sales volume
- Configurable top N customers (5/10/20/50)
- Total sales and quantity metrics
- Medal badges for top performers
- Settings - Application configuration
- User Management - User accounts and permissions
Follow these steps to set up the project locally:
- PHP >= 8.1
- Composer
- Node.js & NPM
- MySQL >= 5.7
-
Clone the repository:
git clone https://github.com/mamun724682/Inventory-Management-System-Laravel-SPA
-
Navigate to the project folder:
cd Inventory-Management-System-Laravel-SPA-2.x -
Install PHP dependencies:
composer install
-
Copy
.envconfiguration:cp .env.example .env
-
Generate application key:
php artisan key:generate
-
Configure the database in the
.envfile with your local credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password
-
Run database migrations and seed sample data:
php artisan migrate:fresh --seed
-
Link storage for media files:
php artisan storage:link
-
Install JavaScript and CSS dependencies:
npm install
-
Build frontend assets:
npm run dev
For production:
npm run build
-
Start the Laravel development server:
php artisan serve
-
Access the application: Open your browser and visit:
http://localhost:8000
Detailed documentation is available in the app/Documentation/ folder:
COMPLETE_FEATURES_LIST.md- Complete list of all featuresQUICK_START_GUIDE.md- Step-by-step usage guideIMPLEMENTATION_SUMMARY.md- Backend implementation detailsFRONTEND_IMPLEMENTATION.md- Frontend implementation details
Backend:
- Laravel 10
- MySQL
- Repository Pattern
- Service Layer Architecture
Frontend:
- Vue.js 3
- Inertia.js
- Tailwind CSS
- Vite
Additional Tools:
- Laravel Breeze (Authentication)
- Laravel Sanctum (API Authentication)
- Ziggy (Route Helper)
- ✅ Single Page Application (SPA) - Seamless user experience
- ✅ Responsive Design - Works on desktop, tablet, and mobile
- ✅ Real-time Updates - Instant data synchronization
- ✅ Auto Customer Status - Automatically tracks new/repeat customers
- ✅ Comprehensive Reports - Outstanding, Top Customers, Sales Points
- ✅ Photo Upload - Support for product and sales images
- ✅ Currency Formatting - Indonesian Rupiah (IDR) format
- ✅ Date Localization - Indonesian date format