Deprixa Plus — Technical Architecture · Full Technology Stack
Frontend Layer
| Library / Tool | Version | Purpose | Notes |
|---|---|---|---|
| React | 18.3 | Core UI library — component model, hooks, state management | Functional components throughout, no class components |
| Inertia.js | 2 | Client/server bridge — eliminates the need for a REST API for page renders | Pages are React components, data is passed as props from Laravel controllers |
| Tailwind CSS | 4.0 | Utility-first CSS framework | Used with the Vite plugin for JIT compilation |
| Vite | 5.4 | Frontend build tool and dev server with HMR | Replaces Laravel Mix. Configured in vite.config.js |
| shadcn/ui | — | Pre-built accessible UI components (dialogs, dropdowns, tables) | Components are copied into the codebase and customized |
| Lucide React | 0.400 | Icon library — 1,400+ consistent SVG icons | Tree-shakeable, used throughout the UI |
| React i18next | 14.x | Internationalization — EN and ES language support | Translation files in resources/js/i18n/ |
| Recharts | 2.12 | Chart library for dashboard analytics | Line charts, bar charts, pie/donut charts for KPI visualization |
| Ziggy | 2.3 | Exports Laravel named routes to JavaScript | Allows using route() helper in React components |
Backend Layer
| Library / Tool | Version | Purpose | Notes |
|---|---|---|---|
| Laravel | 12.x | PHP application framework — routing, ORM, queues, events, validation | Built on PHP 8.2+ with modern PHP features |
| Spatie Laravel Permission | 6.x | Role and permission management, stored in database | Roles: super-admin, admin, employee, driver, customer |
| Spatie Laravel Activity Log | 4.x | Automatic audit logging for all Eloquent model events | Logs causer (user), subject (model), description, and metadata as JSON |
| Laravel Sanctum | 4.x | API token authentication for the REST API | SPA authentication uses Sanctum's cookie-based session for Inertia |
| Laravel Socialite | 5.x | OAuth 2.0 social login library (installed, not active in this version) | Package is present but social login routes are not enabled in the basic version. |
| Barryvdh DomPDF | 3.x | PDF generation for invoices, shipment labels, and reports | Uses Blade views as PDF templates |
| maatwebsite/excel | 3.x | Excel and CSV export for reports | Leverages Laravel queues for large exports |
| intervention/image | 3.x | Image processing for logo uploads and resizing | Requires GD or Imagick PHP extension |
Infrastructure Layer
| Component | Default | Alternative | Purpose |
|---|---|---|---|
| Database | MySQL 8.0 | MariaDB 10.6+ | Primary relational data store for all application data |
| Cache | Redis | File driver | Query result caching, view cache, rate limiting counters |
| Session | Redis | File / Database | User session storage. Redis recommended for multi-server deployments |
| Queue | Redis | Database / Sync | Background job processing — emails, PDF generation, report exports |
| File Storage | Local disk | AWS S3 / S3-compatible | Logos, shipment labels, employee documents, report files |
| Updates | Built-in updater | — | License validation and software update delivery |