2.4 KiB
2.4 KiB
Libra - Technology Stack
Extracted from
docs/architecture.mdSection 3
Core Technologies
| Category | Technology | Version | Purpose | Rationale |
|---|---|---|---|---|
| Runtime | PHP | 8.4.x | Server-side language | Latest stable; required by Laravel 12 |
| Framework | Laravel | 12.x | Application framework | Industry standard; excellent ecosystem |
| Reactive UI | Livewire | 3.7.x | Interactive components | No JS build complexity; server-state |
| Components | Volt | 1.10.x | Single-file components | Cleaner organization; class-based |
| UI Library | Flux UI Free | 2.10.x | Pre-built components | Consistent design; accessibility |
| CSS | Tailwind CSS | 4.x | Utility-first styling | Rapid development; RTL support |
| Auth | Laravel Fortify | 1.33.x | Headless auth | Flexible; 2FA support |
| Database (Prod) | MariaDB | 10.11+ | Production database | MySQL-compatible; performant |
| Database (Dev) | SQLite | Latest | Development database | Zero config; fast tests |
| Testing | Pest | 4.x | Testing framework | Elegant syntax; Laravel integration |
| Code Style | Laravel Pint | 1.x | Code formatting | Consistent style |
| Queue | Database Driver | - | Job processing | Simple; no Redis dependency |
Frontend Dependencies
| Package | Version | Purpose |
|---|---|---|
| Alpine.js | (via Livewire) | Minimal JS interactivity |
| Vite | 6.x | Asset bundling |
| Google Fonts | - | Cairo (Arabic), Montserrat (English) |
| Heroicons | (via Flux) | Icon library |
Backend Dependencies (To Add)
| Package | Version | Purpose |
|---|---|---|
barryvdh/laravel-dompdf |
^3.0 | PDF export generation |
league/csv |
^9.0 | CSV export generation |
spatie/icalendar-generator |
^2.0 | .ics calendar file generation |
Development Dependencies
| Package | Purpose |
|---|---|
| Laravel Sail | Docker development environment (optional) |
| Laravel Telescope | Debug assistant (dev only) |
| Laravel Pint | Code formatting |
Key Architectural Decisions
- Livewire 3 + Volt selected over React/Vue SPA for simplicity and Laravel native integration
- MariaDB for production (client preference), SQLite for development (fast tests)
- Laravel Fortify for flexible headless auth with 2FA support
- Database queue driver sufficient for expected volume (~100 jobs/day)