Sistem Manajemen Inventori berbasis web yang dibangun dengan PHP dan MySQL. Aplikasi ini dirancang untuk membantu mengelola produk, brand, kategori, dan stok barang dengan mudah dan efisien.
- Product Management - Tambah, edit, hapus, dan kelola produk dengan mudah
- Brand Management - Kelola brand/merek produk
- Category & Subcategory - Organisasi produk dengan kategori dan subkategori
- User Management - Kelola pengguna dengan role Admin dan User
- Barcode Generation - Generate barcode untuk produk
- Export to Excel - Export data ke format Excel/Spreadsheet
- Tax Rate Management - Kelola tarif pajak
- Product Details - View detail lengkap produk dengan gambar
- User Authentication & Authorization
- Role-based Access Control (Admin & User)
- Password Reset via Email
- Session Management
- SQL Injection Protection
- Dashboard Admin dengan statistik lengkap
- Dashboard User untuk viewing data
- Real-time data updates
- Backend: PHP 7.4+
- Database: MySQL/MariaDB
- Frontend: HTML5, CSS3, Bootstrap 4
- JavaScript: jQuery, DataTables
- Libraries:
- PHPMailer - Email functionality
- PHPSpreadsheet - Excel export
- Font Awesome - Icons
- Select2 - Enhanced dropdowns
- XAMPP/WAMP/LAMP (Apache + MySQL + PHP)
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web Browser (Chrome, Firefox, Edge)
- Composer (untuk dependencies)
# Clone via Git
git clone https://github.com/yourusername/ims.git
# Atau download ZIP dan extract ke:
C:\xampp\htdocs\ims# Atau gunakan quick start script
.\start-ims.ps1Manual:
- Buka XAMPP Control Panel
- Start Apache
- Start MySQL
- Buka browser:
http://localhost/phpmyadmin - Klik "New" → Create database:
ims - Klik "Import" tab
- Pilih file:
Database/ims.sql - Klik "Go"
File konfigurasi sudah siap di initialize.php:
// Database Configuration
DB_SERVER: localhost
DB_USERNAME: root
DB_PASSWORD: (kosong)
DB_NAME: ims
// Base URL
base_url: http://localhost/ims/Buka browser dan akses:
- Main App: http://localhost/ims/
- Login: http://localhost/ims/login.php
- Admin Panel: http://localhost/ims/admin/
- User Panel: http://localhost/ims/users/
Check database tbl_users untuk kredensial yang tersedia, atau buat akun baru melalui halaman registrasi.
ims/
├── admin/ # Admin dashboard & functions
│ ├── processor/ # Backend processing scripts
│ ├── sub_categories/ # Subcategory handlers
│ └── *.php # Admin pages
│
├── users/ # User dashboard & functions
│ └── *.php # User pages
│
├── assets/ # Static resources
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ ├── img/ # Images & uploads
│ └── fonts/ # Font files
│
├── classes/ # PHP Classes
│ └── connect.php # Database connection
│
├── inc/ # Include files
│ ├── header.php # Header component
│ ├── sidebar.php # Sidebar navigation
│ ├── topnav.php # Top navigation
│ └── initialize.php # Initialization
│
├── Database/ # Database files
│ └── ims.sql # Database schema & data
│
├── PHPMailer/ # Email library
├── vendor/ # Composer dependencies
│
├── config.php # Main configuration
├── initialize.php # Constants & settings
├── login.php # Login page
├── register.php # Registration page
└── README.md # This file
- Dashboard - View statistik dan ringkasan
- Products - Kelola produk (CRUD operations)
- Brands - Kelola brand/merek
- Categories - Kelola kategori produk
- Subcategories - Kelola subkategori
- Users - Kelola pengguna sistem
- Tax Rates - Set tarif pajak
- Export - Export data ke Excel
- View Products - Lihat daftar produk
- View Brands - Lihat daftar brand
- View Categories - Lihat kategori
- Product Details - Detail produk lengkap
- Profile - Update profile
Edit initialize.php:
if(!defined('base_url')) define('base_url','http://localhost/ims/');Edit initialize.php:
if(!defined('DB_SERVER')) define('DB_SERVER',"localhost");
if(!defined('DB_USERNAME')) define('DB_USERNAME',"root");
if(!defined('DB_PASSWORD')) define('DB_PASSWORD',"");
if(!defined('DB_NAME')) define('DB_NAME',"ims");Edit PHPMailer settings untuk password reset functionality.
# Check kesiapan deployment
.\check-deploy.ps1
# Prepare deployment package
.\prepare-deploy.ps1Lihat dokumentasi lengkap di:
- DEPLOYMENT_GUIDE.md - Panduan deployment lengkap
- SETUP_GUIDE.md - Setup instructions
- QUICK_REFERENCE.md - Quick reference
- Niagahoster (Indonesia) - Mulai Rp 10rb/bulan
- Hostinger (Global) - Mulai $2/bulan
- InfinityFree - Gratis untuk testing
Note: Vercel TIDAK support PHP traditional. Gunakan PHP hosting.
- Check MySQL service running
- Verify credentials di
initialize.php - Pastikan database
imsexists
- Check Apache running
- Verify project di
C:\xampp\htdocs\ims\ - Access via
http://localhost/ims/bukan file path
- Enable error reporting di
config.php - Check PHP version (minimum 7.4)
- Check Apache error logs
- Check folder permissions:
assets/img/ - Verify image paths di database
- Set permissions to 755 or 777
Main Tables:
tbl_users- System userstbl_brands- Product brandstbl_categories- Product categoriestbl_sub_categories- Product subcategoriestbl_products- Product inventorytbl_tax- Tax rates
- Change default passwords
- Update
base_urlto production domain - Set
display_errors = Off - Enable HTTPS (force SSL)
- Update database credentials
- Remove test files
- Set proper file permissions
- Enable security headers in
.htaccess - Regular database backups
- Update session security settings
Managed via Composer:
phpmailer/phpmailer- Email functionalityphpoffice/phpspreadsheet- Excel operationsezyang/htmlpurifier- HTML sanitizationmaennchen/zipstream-php- ZIP operations
- Fork the project
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
This project is open source and available under the MIT License.
Created with ❤️ for inventory management
Jika ada pertanyaan atau issue:
- Create issue di GitHub
- Check DEPLOYMENT_GUIDE.md untuk troubleshooting
- Contact developer
- SETUP_GUIDE.md - Complete setup instructions
- DEPLOYMENT_GUIDE.md - Deployment guide (Bahasa Indonesia)
- QUICK_REFERENCE.md - Quick reference & commands
- .env.example - Environment variables template
- REST API implementation
- Mobile responsive improvements
- Advanced reporting & analytics
- Multi-language support
- Inventory alerts & notifications
- Purchase order management
- Supplier management
- Stock movement history
- Advanced search & filters
- Dashboard customization
- v1.0.0 - Initial release
- Product management
- Brand management
- Category management
- User management
- Excel export
- Barcode generation
- Bootstrap team for the UI framework
- Font Awesome for icons
- PHPMailer contributors
- PHPSpreadsheet team
- All open source contributors
Made with ☕ by Developer Team
⭐ Star this repo if you find it helpful!