Stack Overview
Core technologies powering the ERP
Laravel 12.x
Modern PHP framework with elegant syntax and robust ecosystem.
Livewire 3.x
Full-stack framework for dynamic UIs without leaving PHP.
Mary UI
Beautiful Livewire components built on DaisyUI/Tailwind.
Why This Stack?
This stack is chosen for its rapid development capabilities, type safety, and enterprise readiness. Laravel provides the foundation with its mature ecosystem, while Livewire enables reactive UIs without JavaScript complexity. Casbin offers flexible, policy-based authorization that scales with complex permission requirements.
Backend Stack
| Technology | Version | Purpose |
|---|---|---|
|
PHP
|
^8.2 |
Primary programming language with strong typing support |
|
Laravel
|
^12.0 |
Backend framework with Eloquent ORM, queues, and events |
|
Livewire
|
^3.6 |
Full-stack component framework for reactive UIs |
|
DOMPDF
|
* |
PDF generation for invoices, reports, and documents |
Frontend Stack
Mary UI
v2.4+
A beautiful component library for Livewire built on DaisyUI. Provides ready-to-use form inputs, tables, modals, and navigation components.
Vite
Latest
Next-generation frontend build tool with instant HMR (Hot Module Replacement). Compiles Tailwind CSS and JavaScript assets.
UI Component Examples
<!-- Mary UI Form Input -->
<x-mary-input
label="Transfer Number"
wire:model="transfer_number"
placeholder="TRF-0001"
/>
<!-- Mary UI Table -->
<x-mary-table :headers="$headers" :rows="$transfers">
@scope('cell_status', $row)
<x-status-badge :status="$row->status" />
@endscope
</x-mary-table>
<!-- Mary UI Modal -->
<x-mary-modal wire:model="showApprovalModal" title="Approve Transfer">
<x-mary-textarea wire:model="remarks" label="Remarks" />
</x-mary-modal>
Security & Authorization
Casbin (laravel-authz)
Policy-based access control library supporting RBAC, ABAC, and custom models. Provides fine-grained permissions with time-based and branch-scoped access rules.
Route Middleware
Route::get('/transfers', Index::class)
->middleware('casbin:TRANSFERS,VIEW');
Blade Directive
@canAccess('TRANSFERS', 'CREATE')
<x-mary-button label="New" />
@endcanAccess
Development Tools
Laravel Pint
Code formatting & style fixing
Laravel Sail
Docker dev environment
Pest
Elegant PHP testing framework
PHPStan
Static analysis tool
Quick Commands
composer dev
Start dev server
composer test
Run Pest tests
composer phpstan
Static analysis
./vendor/bin/pint
Format code
Version Matrix
| Package | Version | Category | Status |
|---|---|---|---|
| PHP | ^8.2 |
Runtime | Active |
| Laravel | ^12.0 |
Framework | Active |
| Livewire | ^3.6 |
UI Framework | Active |
| Mary UI | ^2.4 |
UI Components | Active |
| Casbin (laravel-authz) | ^4.1 |
Authorization | Active |
| Pest | ^4.1 |
Testing | Dev |
| PHPStan | * |
Analysis | Dev |