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,6 +4,8 @@
Основное хранилище данных программного продукта реализуется на `PostgreSQL`. Прикладной доступ к данным осуществляется через `Prisma ORM`.
![Схема модели данных](/diagrams/database-overview.svg)
Модель данных должна обеспечивать хранение:
- пользователей и ролей
@@ -135,23 +137,15 @@
## 7.7 Основные связи между сущностями
Укрупненная структура связей имеет следующий вид:
Укрупненная структура связей определяется следующими правилами:
```text
Company -> User -> Cart -> CartItem -> Product
-> Order -> OrderItem
-> CounterpartyProfile
-> DeliveryAddress
-> MessengerConnection
-> BonusTransaction
-> RewardWithdrawalRequest
Product -> ProductStock -> Warehouse
ProductType -> CatalogProductTypeSetting
User -> ReferralLink -> User
Order -> OrderStatusEvent
```
- `Company` объединяет пользователей одной клиентской организации
- `User` связан с `CounterpartyProfile`, `DeliveryAddress`, `MessengerConnection`, `Cart`, `Order`, `BonusTransaction` и `RewardWithdrawalRequest`
- `Cart` содержит набор `CartItem`, привязанных к конкретным `Product`
- `Order` содержит набор `OrderItem` и историю `OrderStatusEvent`
- `Product` связан с остатками `ProductStock`, распределенными по сущностям `Warehouse`
- настройки параметров по товарному направлению хранятся в `CatalogProductTypeSetting`
- реферальные связи реализуются через `ReferralLink`, связывающий одного пользователя с другим пользователем
## 7.8 Требования к хранению прикладных данных