Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
c2b592ffdc
1 changed files with 44 additions and 10 deletions
  1. 44 10
      README.md

+ 44 - 10
README.md

@@ -8,22 +8,56 @@
 npm install @e22m4u/js-repository
 ```
 
-Опционально устанавливаем адаптер. Например, если используется
-*MongoDB*, то для подключения потребуется установить
-[адаптер mongodb](https://www.npmjs.com/package/@e22m4u/js-repository-mongodb-adapter)
-как отдельную зависимость.
-
-```bash
-npm install @e22m4u/js-repository-mongodb-adapter
-```
-
-Список адаптеров:
+Опционально устанавливаем адаптер:
 
 |           | описание                                                                                                                       |
 |-----------|--------------------------------------------------------------------------------------------------------------------------------|
 | `memory`  | виртуальная база в памяти процесса (не требует установки)                                                                      |
 | `mongodb` | MongoDB - система управления NoSQL базами (*[установка](https://www.npmjs.com/package/@e22m4u/js-repository-mongodb-adapter))* |
 
+## Введение
+
+Модуль позволяет объединить несколько баз данных в единую абстракцию «Схема».
+Являясь экземпляром класса `Schema`, абстракция предоставляет методы для
+определения «Источника данных» и «Модели». Источник заботится о подключении
+к базе, а модель описывает структуру документа коллекции и связи к другим
+моделям.
+
+Непосредственно чтение и запись производится с помощью «Репозитория», который
+можно получить для каждой модели, если она имеет источник данных.
+
+```mermaid
+flowchart TD
+
+  A[Схема]
+  subgraph Базы данных
+    B[Источник 1]
+    C[Источник 2]
+  end
+  A-->B
+  A-->C
+
+  subgraph Коллекции
+    D[Модель A]
+    E[Модель Б]
+    F[Модель В]
+    G[Модель Г]
+  end
+  B-->D
+  B-->E
+  C-->F
+  C-->G
+
+  H[Репозиторий A]
+  I[Репозиторий Б]
+  J[Репозиторий В]
+  K[Репозиторий Г]
+  D-->H
+  E-->I
+  F-->J
+  G-->K
+```
+
 ## Тесты
 
 ```bash