Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
01012e39c2
2 changed files with 62 additions and 2 deletions
  1. 61 1
      README.md
  2. 1 1
      package.json

+ 61 - 1
README.md

@@ -1,6 +1,66 @@
 ## @e22m4u/js-repository
 
-Библиотека для работы с базами данных для Node.js
+Модуль для работы с базами данных для Node.js
+
+## Установка
+
+```bash
+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[Схема]
+  B[Источник 1]
+  C[Источник 2]
+  A-->B
+  A-->C
+  
+  D[Модель A]
+  E[Модель Б]
+  F[Модель В]
+  G[Модель Г]
+  B-->D
+  B-->E
+  C-->F
+  C-->G
+
+  H[Репозиторий A]
+  I[Репозиторий Б]
+  J[Репозиторий В]
+  K[Репозиторий Г]
+  D-->H
+  E-->I
+  F-->J
+  G-->K
+```
 
 ## Тесты
 

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "@e22m4u/js-repository",
   "version": "0.0.42",
-  "description": "Библиотека для работы с базами данных для Node.js",
+  "description": "Модуль для работы с базами данных для Node.js",
   "type": "module",
   "main": "src/index.js",
   "engines": {