Как устроена платформа
Страница для технических специалистов: стек, архитектура доступа и интеграции. Если вы не из IT, вам на главную, там всё то же самое человеческим языком.
Стек
- Мобильное приложение: Flutter, одна кодовая база для iOS и Android
- CRM: Flutter Web, отдельная точка входа, работает в браузере без установки
- Бэкенд: Postgres + PostgREST, self-hosted, авторизация по SMS-коду
- Уведомления: push для мобильных клиентов, точечные и массовые рассылки из CRM
{
"p_service_id": "diag-computer",
"p_branch_id": "north",
"p_slot_id": "2026-07-05T14:30",
"p_vehicle_id": "1d2f…c9"
}
запись появилась в CRM
клиенту ушло уведомление
webhook доставлен партнёру
Командный API
Прямые INSERT и UPDATE в таблицы закрыты. Каждое действие в системе - это бизнес-команда: запись, перенос, заказ-наряд. Команда валидирует данные, меняет состояние и порождает события: уведомление клиенту, оповещение партнёрской системы.
- Права проверяются на уровне базы данных (RLS): клиент видит только свои записи и машины
- Административные команды отделены от клиентских и требуют роль администратора
Интеграции
- Integration API для 1С и партнёрских CRM: ключи доступа с правами, журнал всех вызовов
- События наружу: создание клиента, записи, заказ-наряда из внешней системы
- Клиент, заведённый во внешней CRM, автоматически привязывается к приложению при первом входе по номеру телефона
- Если у клиента своя CRM: приложение подключается к ней через тот же командный слой, наша CRM не обязательна
Брендирование
- Приложение: тема, цвета, логотип и набор модулей задаются конфигурацией вертикали
- CRM: перекрашивается под бренд клиента одной строкой конфигурации
- Код проекта передаётся заказчику по договору
Остались вопросы по архитектуре?
Напишите, отвечаем предметно: покажем схему данных и команды под вашу задачу.
Обсудить проект