38650da87512e1df9384b36b905d532a01642d7d
Root cause of untranslated table headers: Filament's HasLabel::getLabel() auto-generates a label from the field name (e.g. `name` → "Name") but only calls __() on it if you also invoke ->translateLabel(). Without that, the auto-generated label always renders in English regardless of app locale. Fix: configureUsing() in AppServiceProvider makes translateLabel() the default for every Column, BaseFilter, Field, Action and BulkAction. Then added 175 human RU/EN translations for Filament's auto-generated keys (Name, Phone, Email, Status, Balance, Created at, Plate, Make, Model, Year, VIN, Mileage, Owner, Client, Vehicle, Amount, Total, Qty, Actions, Search, Filter, Export, Import, plus enums/relationships). All 306 tests pass. Deploy will fix table headers on Clients / Vehicles / Work orders / Payments / Purchases / Suppliers etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AutoCRM
SaaS CRM multi-tenant pentru autoservice și magazin piese auto.
Stack
- Laravel 12 + Filament 5
- Octane (FrankenPHP runtime)
- MariaDB 11.4
- Redis 7
- Stancl/Tenancy v3 (single-DB multi-tenant)
Domenii
service.mir.md— panou central super-admin<slug>.service.mir.md— instanță tenant
Documentație
Vezi /root/service/docs/00-index.md în repo-ul părinte (separat de cod) pentru:
- Arhitectură + decizii
- Setup multi-tenant (3 niveluri izolare)
- Toate cele 31 module preluate din prototip
- Operațiuni (deploy / backup / add-tenant / troubleshoot)
Dev local
cp .env.example .env
composer install
npm install
php artisan key:generate
php artisan migrate
npm run build
php artisan octane:start --server=frankenphp
Deploy
Push pe main → Coolify auto-deploy.
License
Proprietary. © 2026.
Description
Languages
PHP
78%
Blade
21.7%
Dockerfile
0.2%