Replace textual specs with schematic diagrams
This commit is contained in:
@@ -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С используется как внешняя учетная система
|
||||
```
|
||||

|
||||
|
||||
## 6.2 Состав прикладных сервисов
|
||||
|
||||
@@ -88,7 +64,11 @@ PostgreSQL
|
||||
- `/catalog-settings` — административные настройки каталога
|
||||
- `/bonus-program`, `/bonus-system/*` — бонусный контур
|
||||
|
||||
## 6.6 Архитектура серверной части
|
||||
## 6.6 Карта слоев и компонентов
|
||||
|
||||

|
||||
|
||||
## 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`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user