Обновление README.md

This commit is contained in:
2025-04-17 00:08:42 +04:00
parent bfe52cff9a
commit 0353ca732f
+35
View File
@@ -2,6 +2,17 @@
Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e. Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e.
## Начало работы
- Склонируйте репозиторий и войдите в папку `Pf2eDataScrapper`.
- Создайте файл `.env` и добавьте в него содержимое из файла `.env.example`. Измените содержащиеся поля:
- `DATA_DIR` - путь к папке для распаковки репозиториев обрабатываемых данных;
- `OUTPUT_DIR` - путь к месту сохранения схем;
- `DATABASE_CONNECTION` - строка подключения к БД (только PostreSQL).
- Для создания структуры БД в командной строке запустите `dotnet ef database update`.
- Проект готов к работе.
## Общая структура ## Общая структура
### `SchemaBuilder` ### `SchemaBuilder`
@@ -17,6 +28,30 @@ data = JObject.Parse(reader.ReadToEnd()); // Загрузка данных
schema.AddValue(data); // Добавление данных schema.AddValue(data); // Добавление данных
``` ```
### `Model`
Набор классов модели ORM EntityFramework.
Класс-контекст `Pf2eDbContext` разделён на 2 файла:
- в `Pf2eDbContext.cs` находится набор таблиц и конфигурация БД,
- в `Pf2eDbContextModel.cs` находится Fluent API описание связей в модели.
Для удобства модель разбита на несколько папок-пространст имён:
- `Base` - здесь описан класс `Entity`, который является корнем всех связей и описаний. В этой таблице находятся общие характеристики объектов: название, описание, тип, а так же ссылки на общие элементы: указание источников и трейтов - всё это в пространстве имён
- `Common` содержит общее классы на которые могут ссылаться разные типа.
- `Enum` содержит описание всех перечислений, использующихся в модели.
- `Structure` содержит все основные типы, которые связаны 1-к-1 с `Entity` (для указания этого используется интерфейс `IEntity`).
### `Migrations`
Миграции БД, генерируются в автомотическом режиме.
### `Importers` ### `Importers`
Классы загрузки и обработки данных. Классы загрузки и обработки данных.
# TODO
- Добавление экипировки
- Добавление бестиария