AGK Inventory is a web-based warehouse inventory management system for Artha Griya Kencana. It helps warehouse teams manage item master data, suppliers, stock movement, transaction approvals, and stock reports from a centralized admin panel.
The application is built with Laravel and Filament, providing a clean CMS-style interface for warehouse operations. It is designed to reduce manual stock tracking errors, improve accountability for incoming and outgoing goods, and give warehouse teams better visibility into available inventory.
- Inventory Master Data: Manage goods, item categories, units, and current stock quantities.
- Supplier Management: Store supplier names, phone numbers, and addresses for purchasing and warehouse reference.
- Incoming Goods Workflow: Record incoming goods as pending transactions before they affect stock.
- Outgoing Goods Workflow: Record outgoing goods requests while showing the currently available stock.
- Transaction Confirmation: Authorized warehouse users can confirm incoming or outgoing transactions, automatically updating stock levels.
- Stock Movement Reports: View confirmed incoming and outgoing goods history in separate report pages.
- Stock Report PDF: Generate printable PDF reports for current item stock.
- Dashboard Overview: Display key operational summaries such as total items, suppliers, stock quantity, and users.
- Role-Based Access Control: Restrict access and actions based on warehouse roles using Spatie Permission.
- Admin Panel: Filament-powered CMS for managing users, master data, transactions, and reports.
AGK Inventory separates daily warehouse activity into clear operational steps:
- Admin Gudang manages master data such as goods, categories, units, suppliers, and users.
- Warehouse users create pending incoming goods or pending outgoing goods transactions.
- Authorized roles such as Kepala Gudang or Staff Gudang review and confirm the transactions.
- Once confirmed, the transaction is moved into the official report table.
- The item stock is automatically increased for incoming goods or decreased for outgoing goods.
- Warehouse teams can monitor stock and print PDF stock reports from the reporting page.
- Admin Gudang: Manages master data, users, suppliers, and pending transaction records.
- Kepala Gudang: Reviews warehouse stock and confirms incoming or outgoing goods transactions.
- Staff Gudang: Handles warehouse stock reports and transaction confirmation workflows.
- Staff Purchasing: Manages supplier-related data.
- Kepala Operasional: Available as an operational management role.
- Framework: Laravel 11
- Admin Panel: Filament 3
- Authorization: Spatie Laravel Permission
- PDF Generation: Barryvdh Laravel Dompdf
- Database: MySQL
- Frontend Tooling: Vite
- Language: PHP 8.2+
- Data Barang: Item records with category, unit, and stock information.
- Jenis Barang: Item category management.
- Satuan Barang: Unit management for inventory items.
- Supplier: Supplier contact and address data.
- Barang Masuk Pending: Incoming goods transactions waiting for confirmation.
- Barang Keluar Pending: Outgoing goods transactions waiting for confirmation.
- Laporan Barang Masuk: Confirmed incoming goods history.
- Laporan Barang Keluar: Confirmed outgoing goods history.
- Laporan Stok: Current stock overview with PDF export.
- Pengguna: User and role management.
Make sure your local environment has:
- PHP: ^8.2
- Composer
- Node.js & npm
- MySQL or another Laravel-supported database
Follow these steps to run the project locally:
-
Clone the Repository
git clone https://github.com/munovrizall/agk-inventory.git cd agk-inventory -
Install PHP Dependencies
composer install
-
Install JavaScript Dependencies
npm install
-
Create Environment File
cp .env.example .env
-
Generate Application Key
php artisan key:generate
-
Configure Database
Update the database configuration in
.env:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=agk_inventory DB_USERNAME=root DB_PASSWORD=
-
Run Migrations and Seeders
php artisan migrate --seed
-
Build Frontend Assets
npm run build
Start the Laravel development server:
php artisan serveThe application will be available at:
http://127.0.0.1:8000
The admin panel is available at:
http://127.0.0.1:8000/admin
After running the database seeders, you can use the default admin account:
Email: admin@email.com
Password: admin
Another seeded warehouse user is also available:
Email: jale@email.com
Password: jale
Role: Kepala Gudang
For local development with Vite:
npm run devIn another terminal, run:
php artisan serveRun the test suite with:
php artisan test