Replace textual specs with schematic diagrams

This commit is contained in:
Ruslan Bakiev
2026-05-01 12:11:04 +07:00
parent fccb3039bf
commit fc6117c8f5
14 changed files with 416 additions and 154 deletions

View File

@@ -4,31 +4,7 @@
Программный продукт реализуется по клиент-серверной модели и включает веб-клиент, сервер бизнес-логики, базу данных, модуль интеграции и вспомогательные сервисы уведомлений.
Схема взаимодействия основных компонентов:
```text
Пользовательский браузер
|
v
Nuxt web-frontend
|
v
/api/graphql proxy
|
v
Apollo GraphQL backend
|
v
Prisma ORM
|
v
PostgreSQL
Дополнительно:
- Vault используется как источник секретов
- Telegram / Max используются как внешние каналы уведомлений
- 1С используется как внешняя учетная система
```
![Схема архитектуры](/diagrams/system-architecture.svg)
## 6.2 Состав прикладных сервисов
@@ -88,7 +64,11 @@ PostgreSQL
- `/catalog-settings` — административные настройки каталога
- `/bonus-program`, `/bonus-system/*` — бонусный контур
## 6.6 Архитектура серверной части
## 6.6 Карта слоев и компонентов
![Карта компонентов](/diagrams/component-map.svg)
## 6.7 Архитектура серверной части
Серверная часть организована по следующим основным модулям:
@@ -101,7 +81,7 @@ PostgreSQL
- `src/prisma-client.js` — точка подключения Prisma
- `src/messenger*.js`, `src/telegram*.js`, `src/max-mini-app.js` — мессенджерный контур и мини-приложения
## 6.7 Взаимодействие фронтенда и backend
## 6.8 Взаимодействие фронтенда и backend
Взаимодействие клиентской и серверной части строится через GraphQL API.
@@ -118,7 +98,7 @@ PostgreSQL
- централизованно передавать авторизационные данные
- поддерживать единый клиентский GraphQL endpoint
## 6.8 Интеграционные и вспомогательные HTTP-точки
## 6.9 Интеграционные и вспомогательные HTTP-точки
Помимо GraphQL API, во фронтенд-контуре реализованы вспомогательные серверные маршруты:
@@ -129,7 +109,7 @@ PostgreSQL
- `/api/dadata/party` — подсказки контрагентов
- `/api/messenger-avatar/[connectionId]` — выдача изображений, связанных с мессенджерными подключениями
## 6.9 Компонентные требования к реализации
## 6.10 Компонентные требования к реализации
Архитектура программного продукта должна сохранять следующие правила:
@@ -140,7 +120,7 @@ PostgreSQL
- серверная логика доступа к данным должна проходить через Prisma
- бизнес-правила доступа должны контролироваться серверной частью, а не только интерфейсом
## 6.10 Требования к конфигурации и секретам
## 6.11 Требования к конфигурации и секретам
Сервисы программного продукта должны получать прикладные секреты из `Vault`.