libra/docs/architecture/tech-stack.md

2.4 KiB

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)