๐Ÿ“– Nexa POS

Technical Guide

โš™๏ธ Installation

Installation is handled automatically via the provided installation scripts. Simply run the appropriate script for your operating system:

๐Ÿง Linux / macOS

chmod +x install.sh
./install.sh

๐ŸชŸ Windows

install.bat

What the installation script does:

  1. Checks prerequisites (PHP, Composer)
  2. Creates .env file from .env.example
  3. Prompts for database configuration
  4. Installs PHP dependencies via Composer
  5. Generates application key
  6. Runs database migrations and seeds
  7. Builds frontend assets (if Node.js is available)
  8. Sets proper file permissions

Additional Commands (For Developers)

Reset database with fresh data:

php artisan migrate:fresh --seed

Add demo data to existing database:

php artisan db:seed --class=DemoDataSeeder

๐Ÿ” Default Login Credentials

Role Email 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!

๐Ÿ“š Seeder Reference

โœ… Essential Seeders (Required for App to Function)

1. RoleUserSeeder

Creates the role structure for the application.

  • โ€ข Roles: Superadmin, Admin, Staff Sales, Staff Inventory
  • โ€ข Core Users: Superadmin and Admin users

2. CurrencySeeder

Populates the currencies table with major world currencies.

  • โ€ข USD, EUR, GBP, JPY, IDR, etc.
  • โ€ข Includes exchange rates and symbols

3. ExpenseCategorySeeder

Default expense categories for business operations.

  • โ€ข Operations, Marketing, Utilities, Supplies, etc.

4. PaymentMethodSeeder

Payment methods available at checkout.

  • โ€ข Cash, Credit Card, Debit Card, Bank Transfer, E-Wallet, etc.

5. TaxSeeder

Tax configurations for different scenarios.

  • โ€ข Standard tax rates, tax-exempt, etc.

๐Ÿงช Demo/Development Seeders (Optional)

DemoDataSeeder

Complete demo store with products, customers, and orders

php artisan db:seed --class=DemoDataSeeder

SupplierSeeder

Sample suppliers for inventory management

php artisan db:seed --class=SupplierSeeder

PurchaseSeeder

Sample purchase orders from suppliers

php artisan db:seed --class=PurchaseSeeder

StockMovementSeeder

Sample stock movement records

php artisan db:seed --class=StockMovementSeeder

ExpenseSeeder

Sample expense transactions

php artisan db:seed --class=ExpenseSeeder

DamageSeeder

Sample product damage records

php artisan db:seed --class=DamageSeeder

DiscountSeeder

Sample discount configurations

php artisan db:seed --class=DiscountSeeder

QuotationSeeder

Sample quotation documents

php artisan db:seed --class=QuotationSeeder

๐ŸŒฑ Database Seeding

Production Installation (Fresh Install)

When installing for production, the following seeders are executed by default:

php artisan migrate --seed

Essential Seeders (Production):

Seeder Description
RoleUserSeederCreates user roles (Superadmin, Admin, Staff Sales, Staff Inventory)
CurrencySeederPopulates currency data (USD, IDR, EUR, etc.)
ExpenseCategorySeederDefault expense categories
PaymentMethodSeederPayment methods (Cash, Credit Card, Bank Transfer, etc.)
TaxSeederDefault tax configurations

Development/Demo Data

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

๐Ÿ“ File Locations

Component Location
Seedersdatabase/seeders/
Migrationsdatabase/migrations/
Modelsapp/Models/
Filament Resourcesapp/Filament/Resources/
Filament Pagesapp/Filament/Pages/

๐Ÿ“ Notes