Replace textual specs with schematic diagrams
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
|
||||
Основное хранилище данных программного продукта реализуется на `PostgreSQL`. Прикладной доступ к данным осуществляется через `Prisma ORM`.
|
||||
|
||||

|
||||
|
||||
Модель данных должна обеспечивать хранение:
|
||||
|
||||
- пользователей и ролей
|
||||
@@ -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 Требования к хранению прикладных данных
|
||||
|
||||
|
||||
Reference in New Issue
Block a user