A comprehensive inventory management system built with Laravel for managing products, tracking stock in/out transactions, and monitoring real-time inventory levels.
- Master Product Management - Create, read, update, and delete products with multiple items support
- Stock In Transactions - Record stock entries with automatic date, product selection, quantity, and notes
- Stock Out Transactions - Record stock exits with automatic date, product selection, quantity, and notes
- Real-time Stock Calculation - Automatic stock calculation based on initial stock, stock in, and stock out
- Transaction Logs - View detailed logs for all stock in/out transactions with filtering capabilities
- Total Stock View - Comprehensive view showing current stock levels with filtering and pagination
- User Authentication - Secure login system using Laravel Breeze (username-based authentication)
- Responsive Design - Modern and clean UI built with Tailwind CSS
- Framework: Laravel 12
- Authentication: Laravel Breeze
- Database: MySQL
- Frontend: Blade Templates with Tailwind CSS
- JavaScript: Vanilla JS for dynamic filtering
- PHP >= 8.2
- Composer
- MySQL >= 5.7
- Node.js & NPM (for asset compilation)
-
Clone the repository
git clone https://github.com/kikybulin/inventory-app.git cd inventory-app -
Install dependencies
composer install npm install
-
Environment setup
cp .env.example .env php artisan key:generate
-
Configure database Edit
.envfile and set your database 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 migrations and seeders
php artisan migrate php artisan db:seed
-
Compile assets
npm run build
-
Start the server
php artisan serve
Visit
http://localhost:8000in your browser.
- Username: admin
- Password: admin
databasebarang/
├── app/
│ ├── Http/Controllers/
│ │ ├── BarangController.php
│ │ ├── StockInController.php
│ │ ├── StockOutController.php
│ │ ├── TotalStockController.php
│ │ ├── StockInLogController.php
│ │ └── StockOutLogController.php
│ └── Models/
│ ├── Barang.php
│ ├── StockIn.php
│ └── StockOut.php
├── database/
│ ├── migrations/
│ └── seeders/
│ └── AdminUserSeeder.php
└── resources/
└── views/
├── barangs/
├── stock-ins/
├── stock-outs/
├── total-stock/
├── stock-in-logs/
└── stock-out-logs/
- barangs - Product master data (nama_barang, jenis_barang, stock_awal)
- stock_ins - Stock in transactions (barang_id, tanggal, jumlah, keterangan)
- stock_outs - Stock out transactions (barang_id, tanggal, jumlah, keterangan)
- users - User accounts with username authentication
The application uses Laravel Breeze with custom username-based authentication. Registration and password reset features are disabled - only login is available.
- Login with the default credentials
- Master Barang - Add products with name, type, and initial stock
- Stock In - Record incoming stock by selecting product type and name
- Stock Out - Record outgoing stock (validates available stock)
- Total Stock - View current stock levels with filtering options
- Log Stock In/Out - View transaction history with date and filter options
For deployment on aapanel or similar hosting:
- Set document root to
publicdirectory - Update
.envwith production settings - Run
composer install --optimize-autoloader --no-dev - Run
php artisan config:cache - Run
php artisan route:cache - Set proper permissions for
storageandbootstrap/cache
This project is open-sourced software licensed under the MIT license.
Kikybulin
- GitHub: @kikybulin
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
⭐ If you find this project helpful, please give it a star!