Renumber technical specification sections
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# 6. Техническая архитектура, стек и состав компонентов
|
||||
# 7. Техническая архитектура, стек и состав компонентов
|
||||
|
||||
## 6.1 Общая архитектурная схема
|
||||
## 7.1 Общая архитектурная схема
|
||||
|
||||
Программный продукт реализуется по клиент-серверной модели и включает веб-клиент, сервер бизнес-логики, базу данных, модуль интеграции и вспомогательные сервисы уведомлений.
|
||||
|
||||
<NamedMermaidDiagram name="architecture-overview" />
|
||||
|
||||
## 6.2 Состав прикладных сервисов
|
||||
## 7.2 Состав прикладных сервисов
|
||||
|
||||
Согласно действующей карте деплоя в составе проекта используются следующие сервисы:
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
Основные прикладные сервисы `web-frontend` и `apollo-backend` разворачиваются через `dokploy_webhook` на сервере `main`.
|
||||
|
||||
## 6.3 Технологический стек фронтенда
|
||||
## 7.3 Технологический стек фронтенда
|
||||
|
||||
Клиентская часть программного продукта реализуется на следующих технологиях:
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
- `Storybook` — контур изоляционного просмотра компонентов
|
||||
- `VitePress` — подготовка проектной документации
|
||||
|
||||
## 6.4 Технологический стек серверной части
|
||||
## 7.4 Технологический стек серверной части
|
||||
|
||||
Серверная часть программного продукта реализуется на следующих технологиях:
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
- `Zod` — валидация структур данных в прикладных сценариях
|
||||
- `Nodemailer` — отправка уведомлений по электронной почте
|
||||
|
||||
## 6.5 Архитектура клиентской части
|
||||
## 7.5 Архитектура клиентской части
|
||||
|
||||
Клиентская часть организована по следующим слоям:
|
||||
|
||||
@@ -64,11 +64,11 @@
|
||||
- `/catalog-settings` — административные настройки каталога
|
||||
- `/bonus-program`, `/bonus-system/*` — бонусный контур
|
||||
|
||||
## 6.6 Карта слоев и компонентов
|
||||
## 7.6 Карта слоев и компонентов
|
||||
|
||||
<NamedMermaidDiagram name="component-map" />
|
||||
|
||||
## 6.7 Архитектура серверной части
|
||||
## 7.7 Архитектура серверной части
|
||||
|
||||
Серверная часть организована по следующим основным модулям:
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
- `src/prisma-client.js` — точка подключения Prisma
|
||||
- `src/messenger*.js`, `src/telegram*.js`, `src/max-mini-app.js` — мессенджерный контур и мини-приложения
|
||||
|
||||
## 6.8 Взаимодействие фронтенда и backend
|
||||
## 7.8 Взаимодействие фронтенда и backend
|
||||
|
||||
Взаимодействие клиентской и серверной части строится через GraphQL API.
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
- централизованно передавать авторизационные данные
|
||||
- поддерживать единый клиентский GraphQL endpoint
|
||||
|
||||
## 6.9 Интеграционные и вспомогательные HTTP-точки
|
||||
## 7.9 Интеграционные и вспомогательные HTTP-точки
|
||||
|
||||
Помимо GraphQL API, во фронтенд-контуре реализованы вспомогательные серверные маршруты:
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
- `/api/dadata/party` — подсказки контрагентов
|
||||
- `/api/messenger-avatar/[connectionId]` — выдача изображений, связанных с мессенджерными подключениями
|
||||
|
||||
## 6.10 Компонентные требования к реализации
|
||||
## 7.10 Компонентные требования к реализации
|
||||
|
||||
Архитектура программного продукта должна сохранять следующие правила:
|
||||
|
||||
@@ -120,13 +120,13 @@
|
||||
- серверная логика доступа к данным должна проходить через Prisma
|
||||
- бизнес-правила доступа должны контролироваться серверной частью, а не только интерфейсом
|
||||
|
||||
## 6.11 Требования к конфигурации и секретам
|
||||
## 7.11 Требования к конфигурации и секретам
|
||||
|
||||
Сервисы программного продукта должны получать прикладные секреты из `Vault`.
|
||||
|
||||
В конфигурации сервисов допускается хранение только bootstrap-параметров для подключения к Vault. Бизнес-секреты, ключи интеграций и иные чувствительные данные должны загружаться из Vault при старте приложения.
|
||||
|
||||
## 6.12 Инфраструктура, деплой и эксплуатационный контур
|
||||
## 7.12 Инфраструктура, деплой и эксплуатационный контур
|
||||
|
||||
Текущая инфраструктурная схема проекта включает прикладные сервисы, сервис секретов, мессенджерные сервисы и вспомогательный worker-контур.
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
Эксплуатационные операции доступа и диагностики выполняются через Tailscale SSH.
|
||||
|
||||
## 6.13 Dokploy и цепочка развёртывания
|
||||
## 7.13 Dokploy и цепочка развёртывания
|
||||
|
||||
Для основных сервисов проекта используется режим `dokploy_webhook`.
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
- `apollo-backend` стартует через загрузку Vault env, `prisma migrate deploy` и запуск `src/server.js`
|
||||
- bot-сервисы стартуют через общий паттерн загрузки Vault env и запуск `node src/server.js`
|
||||
|
||||
## 6.14 Vault и хранение секретов
|
||||
## 7.14 Vault и хранение секретов
|
||||
|
||||
Сервис `vault` развернут как отдельное приложение на базе образа `hashicorp/vault:1.21.3`.
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
- загружает project secrets
|
||||
- экспортирует секреты в runtime environment процесса
|
||||
|
||||
## 6.15 Структура сервисных каталогов
|
||||
## 7.15 Структура сервисных каталогов
|
||||
|
||||
Текущая сервисная структура репозитория:
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
- `vault` — Dockerfile, конфигурация и entrypoint Vault
|
||||
- `hatchet` — docker-compose инфраструктурного контура Hatchet
|
||||
|
||||
## 6.16 Контур фоновых процессов
|
||||
## 7.16 Контур фоновых процессов
|
||||
|
||||
В проекте присутствует отдельный контур фонового исполнения задач:
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
|
||||
Конфигурация этого контура находится в `hatchet/docker-compose.yml`.
|
||||
|
||||
## 6.17 Зафиксированные runtime-версии и технологические зависимости
|
||||
## 7.17 Зафиксированные runtime-версии и технологические зависимости
|
||||
|
||||
### Базовые runtime и контейнерные образы
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
| `nodemailer` | `8.0.4` | email notifications |
|
||||
| `dotenv` | `17.3.1` | env bootstrap in local/runtime layers |
|
||||
|
||||
## 6.18 Технические конфигурационные файлы
|
||||
## 7.18 Технические конфигурационные файлы
|
||||
|
||||
Ключевые технические файлы текущей реализации:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user