← Retour aux projets
Inventory Management System
Inventory Management System
A full-stack web application for managing products, orders, invoices, and customers — built with Laravel and Bootstrap.
Features • Tech Stack • Installation • Usage • Structure • Contributors
#Features
#Product Management
- Add, edit, and track products with unique product codes
- Monitor stock levels with real-time availability
- Restock products via the purchase products module
- Automatic stock deduction upon invoice creation
#Order Management
- Create orders from available product inventory
- AJAX-powered customer auto-fill for faster order creation
- Track order status: Pending → Delivered
- Separate views for pending and delivered orders
#Invoice & Sales
- Generate invoices from existing orders or create standalone invoices
- Automatic due amount calculation (
total - payment) - Auto-creation of customer records for new customers
- Sold products report with aggregated quantities
#Customer Management
- Full customer CRUD operations
- REST API endpoint for AJAX-based customer lookup
- Automatic customer registration during order/invoice creation
#Dashboard
- Summary cards: Stock, Sold Products, Available Products, Pending Orders
- Interactive area and bar charts via Chart.js
- Data tables with export options (Copy, Excel, PDF)
#Tech Stack
| Layer | Technology |
|---|---|
| Backend | PHP 8.0+ / Laravel 8.12 |
| Frontend | Blade Templates, Bootstrap 4.5, jQuery 3.5 |
| Database | MySQL (IMS) |
| Auth | Laravel Breeze (session-based) |
| Admin Theme | SB Admin 2 |
| Charts | Chart.js 2.8 |
| Data Tables | DataTables 1.10 (with Excel, PDF, Copy export) |
| Icons | Font Awesome 5.15 |
| Build Tool | Laravel Mix 6 (Webpack) |
| Testing | PHPUnit 9.3 |
| Code Style | StyleCI (Laravel preset) |
| Dev Environment | Laravel Sail (Docker) |
#Installation
#Prerequisites
- PHP 8.0+
- Composer
- MySQL
- Node.js & NPM
#Setup
-
Clone the repository
git clone https://github.com/ekramasif/Inventory_Management_System.git cd Inventory_Management_System -
Install PHP dependencies
composer update
-
Install frontend dependencies
npm install
-
Configure environment
cp .env.example .env php artisan key:generate
-
Create a MySQL database named
IMS, then run migrationsphp artisan migrate
-
Start the development server
php artisan serve
-
Visit http://127.0.0.1:8000
#Usage
| Route | Description |
|---|---|
/register |
Create a new account |
/login |
Sign in to the dashboard |
/ |
Dashboard with summary and charts |
/products |
View all products (stock report) |
/products/available |
View in-stock products |
/products/add |
Add a new product |
/orders |
View all orders |
/orders/pending |
View pending orders |
/orders/delivered |
View delivered orders |
/invoices |
View all invoices |
/customers |
View all customers |
#Project Structure
app/ ├── Http/Controllers/ # Business logic (Product, Order, Invoice, Customer) ├── Models/ # Eloquent models (Product, Order, Invoice, Customer, User) resources/ ├── views/Admin/ # Blade views for all admin features ├── views/auth/ # Authentication views (login, register, reset) routes/ ├── web.php # Web routes (30+ routes) ├── api.php # REST API (customer lookup) database/ ├── migrations/ # Database schema (users, products, customers, orders, invoices)
#Contributors