Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฆ Inventory Management System (IMS)

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.

PHP MySQL License

โœจ Features

๐ŸŽฏ Core Features

  • 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

๐Ÿ” Security Features

  • User Authentication & Authorization
  • Role-based Access Control (Admin & User)
  • Password Reset via Email
  • Session Management
  • SQL Injection Protection

๐Ÿ“Š Dashboard

  • Dashboard Admin dengan statistik lengkap
  • Dashboard User untuk viewing data
  • Real-time data updates

๐Ÿ› ๏ธ Technology Stack

  • 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

๐Ÿ“‹ Requirements

  • XAMPP/WAMP/LAMP (Apache + MySQL + PHP)
  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Web Browser (Chrome, Firefox, Edge)
  • Composer (untuk dependencies)

๐Ÿš€ Installation

1. Clone atau Download Project

# Clone via Git
git clone https://github.com/yourusername/ims.git

# Atau download ZIP dan extract ke:
C:\xampp\htdocs\ims

2. Start XAMPP Services

# Atau gunakan quick start script
.\start-ims.ps1

Manual:

  • Buka XAMPP Control Panel
  • Start Apache
  • Start MySQL

3. Create Database

  1. Buka browser: http://localhost/phpmyadmin
  2. Klik "New" โ†’ Create database: ims
  3. Klik "Import" tab
  4. Pilih file: Database/ims.sql
  5. Klik "Go"

4. Configuration

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/

5. Access Application

Buka browser dan akses:

๐Ÿ‘ฅ Default Credentials

Check database tbl_users untuk kredensial yang tersedia, atau buat akun baru melalui halaman registrasi.

๐Ÿ“ Project Structure

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

๐ŸŽฎ Usage

Admin Functions

  1. Dashboard - View statistik dan ringkasan
  2. Products - Kelola produk (CRUD operations)
  3. Brands - Kelola brand/merek
  4. Categories - Kelola kategori produk
  5. Subcategories - Kelola subkategori
  6. Users - Kelola pengguna sistem
  7. Tax Rates - Set tarif pajak
  8. Export - Export data ke Excel

User Functions

  1. View Products - Lihat daftar produk
  2. View Brands - Lihat daftar brand
  3. View Categories - Lihat kategori
  4. Product Details - Detail produk lengkap
  5. Profile - Update profile

๐Ÿ”ง Configuration

Update Base URL

Edit initialize.php:

if(!defined('base_url')) define('base_url','http://localhost/ims/');

Update Database Credentials

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");

Email Configuration

Edit PHPMailer settings untuk password reset functionality.

๐ŸŒ Deployment

Quick Deploy

# Check kesiapan deployment
.\check-deploy.ps1

# Prepare deployment package
.\prepare-deploy.ps1

Deployment Guide

Lihat dokumentasi lengkap di:

Recommended Hosting

  • Niagahoster (Indonesia) - Mulai Rp 10rb/bulan
  • Hostinger (Global) - Mulai $2/bulan
  • InfinityFree - Gratis untuk testing

Note: Vercel TIDAK support PHP traditional. Gunakan PHP hosting.

๐Ÿ› Troubleshooting

Cannot connect to database

  • Check MySQL service running
  • Verify credentials di initialize.php
  • Pastikan database ims exists

Page not found (404)

  • Check Apache running
  • Verify project di C:\xampp\htdocs\ims\
  • Access via http://localhost/ims/ bukan file path

Blank page

  • Enable error reporting di config.php
  • Check PHP version (minimum 7.4)
  • Check Apache error logs

Images not loading

  • Check folder permissions: assets/img/
  • Verify image paths di database
  • Set permissions to 755 or 777

๐Ÿ“Š Database Schema

Main Tables:

  • tbl_users - System users
  • tbl_brands - Product brands
  • tbl_categories - Product categories
  • tbl_sub_categories - Product subcategories
  • tbl_products - Product inventory
  • tbl_tax - Tax rates

๐Ÿ” Security

Production Checklist

  • Change default passwords
  • Update base_url to 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

๐Ÿ“ฆ Dependencies

Managed via Composer:

  • phpmailer/phpmailer - Email functionality
  • phpoffice/phpspreadsheet - Excel operations
  • ezyang/htmlpurifier - HTML sanitization
  • maennchen/zipstream-php - ZIP operations

๐Ÿค Contributing

  1. Fork the project
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

๐Ÿ“ License

This project is open source and available under the MIT License.

๐Ÿ‘จโ€๐Ÿ’ป Developer

Created with โค๏ธ for inventory management

๐Ÿ“ž Support

Jika ada pertanyaan atau issue:

๐Ÿ“š Documentation

๐ŸŽฏ Roadmap

  • 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

๐Ÿ“ˆ Version History

  • v1.0.0 - Initial release
    • Product management
    • Brand management
    • Category management
    • User management
    • Excel export
    • Barcode generation

๐Ÿ™ Acknowledgments

  • 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!

Releases

Packages

Contributors

Languages