Pages
app/Filament/Pages. Здесь находится MotivDashboard и его режимы отображения.
Runbooks, доступы, окружения, релизы и инциденты для внутренних операций.
Farmchel / Motiv — Laravel + Filament internal platform. Ниже практическая карта кода: где что находится и куда вносить изменения.
/admin/… и состава левого меню вынесено в отдельный документ: Структура проекта (/docs/project).
app/
Filament/
Pages/ # Custom pages, включая MotivDashboard
Widgets/ # Dashboard widgets (Motiv/*)
Resources/ # CRUD слой сущностей
RelationManagers/ # Notes/Audit relation managers
Imports/ # CSV/XLSX importers
Exports/ # Exporters для таблиц
Models/ # Domain models + relations
Models/Concerns/ # Shared traits (notes/audit behavior)
Services/ # Domain/service logic (dashboard signals)
Http/
Controllers/Api/V1/ # API controllers (versioned)
Requests/Api/V1/ # API validation (Form Requests)
Resources/Api/V1/ # API response transformers
Middleware/ # Token ability middleware
Policies/ # Role-aware authorization
Support/ # UI/status mapping helpers
Providers/ # Panel providers, app providers
database/migrations/ # Schema evolution (fields, notes/audit, import/export infra, API logs)
resources/views/
docs/ # Documentation center (Business/API/MSP)
filament/widgets/ # Custom widget views
routes/web.php # Web routes, включая /docs/*
routes/api.php # Internal API routes (/api/v1/*)
config/ # Runtime config
public/ # Web root/static entry
storage/ # logs, exports/import files
tests/ # Unit/Feature tests
app/Filament/Pages. Здесь находится MotivDashboard и его режимы отображения.
app/Filament/Widgets/Motiv. KPI, Focus, Requires Attention, Activity и executive summary.
app/Filament/Resources/*. Формы, таблицы, фильтры, actions по сущностям.
app/Filament/Imports и app/Filament/Exports. Batch-загрузка и выгрузка данных.
| Сущность | Где модель | Роль в workflow |
|---|---|---|
| Applications | app/Models/StoreApp.php | Core портфель: owner/company/strategy/status. |
| Companies | app/Models/Company.php | Организационный контекст и контакты. |
| Contacts | app/Models/Contact.php | Ownership-коммуникация и связь с company/app/strategy. |
| Strategies | app/Models/Strategy.php | Операционный слой исполнения и responsible. |
| Keywords | app/Models/Keyword.php | ASO/маркетинговая семантика и приоритеты. |
| Analytics | app/Models/ClickAnalyticsRow.php | Клики/метрики и status signals. |
| Notes | app/Models/Note.php | Internal operational comments с автором и временем. |
| AuditLogs | app/Models/AuditLog.php | История изменений (кто/когда/что). |
| Задача | Куда идти |
|---|---|
| Изменить дашборд | app/Filament/Pages/MotivDashboard.php + app/Filament/Widgets/Motiv/* + app/Services/MotivCommandCenterService.php |
| Изменить импорт | app/Filament/Imports/* + header actions в Resources/*/Pages |
| Изменить экспорт | app/Filament/Exports/* + ExportAction в нужном Resource |
| Добавить поле в сущность | migration → model fillable/casts → resource form/table/filters → dashboard integration (если нужно) |
| Изменить status mapping | app/Support/MotivUi.php + resource options/filters + service rules |
| Изменить docs center | resources/views/docs/* + routes/web.php (без смены URL) |
| Изменить API layer | routes/api.php + app/Http/Controllers/Api/V1/* + app/Http/Requests/Api/V1/* + app/Http/Resources/Api/V1/* |
| Операционный просмотр API логов | app/Filament/Resources/ApiRequestLogs/* + app/Http/Controllers/Api/V1/AdminApiLogController.php |
imports, failed_import_rows, exports)./docs/business, /docs/project, /docs/api, /docs/strategies, /docs/msp.MSP docs — внутренний operations/runbook hub: окружения, доступы, релизы и восстановление сервиса.
| Среда | Назначение |
|---|---|
| local | Разработка и отладка через Laragon. |
| development | Интеграционные проверки функций. |
| staging | Проверка релиз-кандидатов перед production. |
| production | Рабочее окружение команды. |
/api/v1/auth/*.app/Http/Middleware/EnsureTokenAbility.php.app/Policies/* (включая ApiRequestLogPolicy).app/Http/Middleware/LogApiRequest.php + таблица api_request_logs.Local bootstrap: после php artisan migrate --seed создаётся dev admin test@example.com. Пароль по умолчанию admin12345, можно переопределить через MOTIV_DEV_ADMIN_PASSWORD.
Кто видит API logs: только admin/manager с активным статусом и корректной ability (для API endpoint: logs:read).
Проверить APP_URL, auth, DB connection, логи и route cache.
Проверить блокировки, batch status, повторить migrate --force.
Проверить таблицы imports/failed_import_rows, mapping и validation errors.
Проверить таблицу exports, storage link, права на диск.
Проверить импортный пайплайн, period presets и source data feed.
Проверить null owner/company/strategy через Requires Attention.
/up должен быть доступен.