Technical Guide
Installation is handled automatically via the provided installation scripts. Simply run the appropriate script for your operating system:
chmod +x install.sh
./install.sh
install.bat
.env file from .env.exampleReset database with fresh data:
php artisan migrate:fresh --seed
Add demo data to existing database:
php artisan db:seed --class=DemoDataSeeder
| Role | Password | Description | |
|---|---|---|---|
| Super Admin | superadmin@pos.com |
password |
Full system access, manages all stores & tenants. |
| Store Admin | admin@pos.com |
password |
Manages single store, products, and users. |
| Sales Staff | sales@pos.com |
password |
Access to POS terminal and sales records only. |
| Inventory Staff | inventory@pos.com |
password |
Manages stock, purchases, and suppliers. |
โ ๏ธ Important: These accounts are created by RoleUserSeeder. Please change the default passwords immediately after deployment!
Creates the role structure for the application.
Populates the currencies table with major world currencies.
Default expense categories for business operations.
Payment methods available at checkout.
Tax configurations for different scenarios.
Complete demo store with products, customers, and orders
php artisan db:seed --class=DemoDataSeeder
Sample suppliers for inventory management
php artisan db:seed --class=SupplierSeeder
Sample purchase orders from suppliers
php artisan db:seed --class=PurchaseSeeder
Sample stock movement records
php artisan db:seed --class=StockMovementSeeder
Sample expense transactions
php artisan db:seed --class=ExpenseSeeder
Sample product damage records
php artisan db:seed --class=DamageSeeder
Sample discount configurations
php artisan db:seed --class=DiscountSeeder
Sample quotation documents
php artisan db:seed --class=QuotationSeeder
When installing for production, the following seeders are executed by default:
php artisan migrate --seed
| Seeder | Description |
|---|---|
RoleUserSeeder | Creates user roles (Superadmin, Admin, Staff Sales, Staff Inventory) |
CurrencySeeder | Populates currency data (USD, IDR, EUR, etc.) |
ExpenseCategorySeeder | Default expense categories |
PaymentMethodSeeder | Payment methods (Cash, Credit Card, Bank Transfer, etc.) |
TaxSeeder | Default tax configurations |
For development or demo purposes, you can run additional seeders:
# Run specific seeder
php artisan db:seed --class=DemoDataSeeder
# Run all demo seeders (uncomment in DatabaseSeeder.php first)
php artisan db:seed
| Component | Location |
|---|---|
| Seeders | database/seeders/ |
| Migrations | database/migrations/ |
| Models | app/Models/ |
| Filament Resources | app/Filament/Resources/ |
| Filament Pages | app/Filament/Pages/ |
Store::boot() event).