Что это за сервис
ERP-система для компании, занимающейся аутсорсингом/аутстаффингом рабочего персонала.
Суть
Компания берёт у заказчика заказ на работы, набирает под него рабочих, планирует их смены в календаре, отмечает кто вышел/не вышел и формирует реестры для оплаты.
Сферы: клининг, грузчики, разнорабочие, промоутеры, охрана и т.п. (домен handswork — «ручной труд»).
Бизнес-модель
У услуги (Service) две цены:
price_for_customer — платит заказчик
price_for_worker — получает рабочий
Разница между ними — маржа компании-посредника. У рабочего есть ИНН — работа с самозанятыми/договорами.
Главный рабочий процесс
| 1 | Заводят проект под заказчика |
| 2 | Привязывают объекты работ и услуги (цены, расписание) |
| 3 | Набирают и привязывают рабочих к проекту |
| 4 | В календаре планирования распределяют рабочих по сменам |
| 5 | Отмечают статусы по дням (вышел / не вышел / отработал) |
| 6 | Формируют реестры и выгружают в Excel — оплата рабочим и счёт заказчику |
Сущности и связи
Карта основных доменных объектов вокруг проекта.
Самая сложная и «фирменная» часть — модуль планирования (PlanningCalendar* в backend и pages/plan/_id/ во frontend).
Технические моменты
Стек, архитектура и важные наблюдения.
Backend — erp-3-backend
Запуск через хелпер .docker/d. Документация API — Scribe (/docs).
Frontend — erp-3-frontend
Dev-сервер на :8080. API через VITE_API_URL.
Важные наблюдения
| Авторизация | По телефону + одноразовый код (OTP). Публичны только auth/send-code и auth/check-code, остальное за auth:api. На локалке SMS не шлётся; для +79999999999 код не проверяется. |
| CRUD-шаблон | У каждой сущности: index/create/store/update/edit/destroy + search, table-config, multiple-actions, save-column-order. UI — настраиваемые таблицы с массовыми действиями. |
| Права | spatie/laravel-permission (пока все сид-юзеры — ADMIN). |
| Данные локально | БД в Docker-томе erp-mysql; сохраняются при ./d up/down, стираются при ./d init. |
Дневник изменений
История жизни проекта. Общая для всей команды.
Идеи и фичи
Общая доска команды: Идея → В проработке → Принято → Сделано / Отклонено.
Заметки
Общие заметки команды со встреч и на лету.
Пользователи
Управление доступом: создание пользователей, роли и пароли.