Skip to content

Обзор системы CRM RMS ​

CRM RMS — это проектная CRM/RMS-платформа: она связывает клиентов, проекты, команды, задачи, оборудование, логистику, финансы, документы и коммуникации в один рабочий контур.


Общая схема ​

В текущей версии backend состоит из доменных модулей под internal/modules/*, HTTP API под /api/v1 и VitePress-документации под docs/.

Основной рабочий маршрут:

Администратор: "Настраиваю пользователей, отделы, роли и должности"
    ↓
Менеджер: "Создаю компанию, контакт и проект"
    ↓
Система: "Проект в planned, доступы считаются по отделу, менеджеру и ролям"
    ↓
Менеджер: "Готовлю спецификацию, команду и смету"
    ↓
Команда: "Работает по задачам, пишет время, общается в чатах"
    ↓
Логистика: "Подбирает оборудование, строит маршруты и согласует суммы"
    ↓
Бухгалтерия/финансы: "Ведут cost items, платежи, отчеты и payroll"
    ↓
Юристы/документы: "Готовят договоры, счета, акты и контролируют сроки"
    ↓
Менеджер: "Сверяет бюджет, закрывает проект и архивирует историю"

Как читать документацию ​

Если вы новый разработчик ​

  1. Основные сущности — карта данных и связей.
  2. Жизненный цикл проекта — актуальные статусы проекта, задач и закрытия.
  3. Архитектура — слойность backend и правило обновления docs.
  4. Security & RBAC — доступы, роли, оргструктура и видимость.
  5. Матрица прав RMS — 16 объектов × 11 ролей, охваты «все / свой / нет», как сужаются списки и вырезаются поля.
  6. Scalar API Reference — точные endpoint-ы, параметры и схемы.

Если вы делаете фронт ​

Если вы работаете с операционным контуром ​

Если вы работаете с финансами и документами ​


Доменные контуры ​

CRM и проекты ​

  • companies, contacts, companycontacts, requisites, entitylinks — клиентская база и связи.
  • projects, projectteam, teamrequests — проект, команда и заявки на ресурс.
  • tasks, timeentries — задачи, рабочие сессии и учет времени.
  • timesheets — табели: месяц сотрудника, сдача и утверждение поверх time_entries.
  • search — глобальный поиск по рабочим сущностям.

Операции ​

  • locations, equipment, suppliers — склады, площадки, оборудование и поставщики.
  • equipmentrequests, logistics — фасад заявок и реальные логистические операции.
  • trips — командировки и попутные задачи.

Финансы, бухгалтерия и юристы ​

  • finance, budget — cost items, выручка, P&L и смета.
  • payments — счета/кассы, платежи, взаиморасчеты, ДДС, дебиторка, НДС-регистр.
  • contracts — юридический реестр договоров, сроки и legal card.
  • payroll — условия оплаты и зарплатные ведомости.
  • obligations — реестр обязательств и постоянные платежи финотдела.

Контент и коммуникации ​

  • files, documents — загруженные файлы, папки, шаблоны и generated documents.
  • chats, notifications — чаты, WebSocket, notification center и email delivery worker.

Организация и доступы ​

  • auth, users, rbac — аутентификация, профили, роли и permissions.
  • departments, org, directory — отделы, должности, руководители и справочники.
  • permissions (internal/permissions) — матрица прав RMS, разрешаемая по ролям пользователя.
  • nda — версии соглашения о неразглашении, журнал принятия и серверный гейт.

Где проверять точность ​

Концептуальные страницы объясняют бизнес-процессы, но не являются ручным API reference.

ВопросИсточник
Какие endpoint-ы реально естьScalar API Reference и docs/assets/data/endpoints.json
Какие DTO принимает backendinternal/modules/*/transport_http.go
Какие статусы валидныmodel.go, status.go, service validation
Какие права нужныinternal/permissions/matrix.go, internal/app/app.go, internal/modules/rbac, Матрица прав RMS, docs/rbac_matrix.md
Как устроена БДmigrations/*.sql

После изменений API нужно регенерировать:

bash
go run ./cmd/generate_contracts
go run ./cmd/generate_endpoints

Ключевые правила ​

1. Документация должна идти от реального кода ​

Не используйте старые статусы или endpoint-ы, если их нет в transport_http.go и OpenAPI.

2. Концепции объясняют процесс, Scalar фиксирует контракт ​

В markdown показываем смысл, роли, этапы, ошибки и frontend-поведение. Полные схемы JSON держим в Scalar.

3. API меняется вместе с документацией ​

Если задача меняет маршруты, DTO, права, валидацию, бизнес-поведение или БД, обновляются и VitePress, и сгенерированные OpenAPI/endpoints artifacts.

Загружаем документацию…