# Sova: документация проекта

Эта документация помогает быстро понять состав исходников, запустить окружение и найти основные точки входа.

## Что находится в репозитории

- `apps/backend` - новое единое хранилище данных и API на Symfony 7.3.
- `apps/adminPanel` - админка на React (врачи, филиалы, акции, контент).
- `apps/cabinet` - старый личный кабинет на Symfony 5.4 с Twig и Webpack Encore.
- `environments` - набор Docker Compose-файлов для сетей, БД, приложений, мониторинга и Jenkins.
- `infrastructure` - Dockerfile и конфигурация nginx, PHP-FPM, PostgreSQL, Redis, Node.js.
- `monitoring` - конфигурация Prometheus, Grafana и дашборды.
- `jenkins` - Jenkins pipelines для backend и cabinet.
- `scripts` - эксплуатационные скрипты: cron, certbot, webhooks.

## С чего начать

1. Прочитать [быстрый старт](./quick-start.md).
2. Проверить [окружение](./environment.md) и наличие всех приложений.
3. Поднять Docker Compose через `make dev`.
4. Открыть страницы по [Backend API](./apps/backend.md) и [Cabinet](./apps/cabinet.md).

## Подробная архитектура

- [Архитектура](./architecture.md) - Mermaid-схемы контейнеров, слоев и request flow.
- [Потоки данных](./flows.md) - запуск, синхронизация, расписание, запись и авторизация.
- [adminPanel: CRUD контента](./apps/admin-panel-content-crud.md) - маршруты, виджеты полей, `apiContent`, валидация без alert (`issues/27-future`).
- [Backend: CRUD для контентных сущностей](./apps/backend-content-crud.md) - `Pagerfanta`, `CrudResponder`, фильтры, sync-сервисы, MR по веткам.
- [adminPanel: обзор](./apps/admin-panel.md) - React, RTK Query, layout, переиспользуемые компоненты.
- [Backend: DDD / бизнес-сущности](./apps/backend-ddd.md) - ограниченные контексты, сущности, контроллеры, сервисы, команды по доменам.
- [Backend: бизнес-сценарии (use cases)](./apps/backend-scenarios/index.md) - пошаговые потоки: Identity, врачи/расписание, запись, синхронизация, интеграции.
- [Backend: архитектура модулей](./apps/backend-architecture.md) - контроллеры, сервисы, команды, async-сообщения.
- [Cabinet: архитектура модулей](./apps/cabinet-architecture.md) - монолит, Twig, формы, bundles-интеграции.
- [Модели данных](./data-model.md) - ER-схемы и основные сущности.
