53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
# Libra - Technology Stack
|
|
|
|
> Extracted from `docs/architecture.md` Section 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)
|