diff --git a/README.md b/README.md index 0ac6165..5f42f33 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,17 @@ Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e. +## Начало работы + +- Склонируйте репозиторий и войдите в папку `Pf2eDataScrapper`. +- Создайте файл `.env` и добавьте в него содержимое из файла `.env.example`. Измените содержащиеся поля: + - `DATA_DIR` - путь к папке для распаковки репозиториев обрабатываемых данных; + - `OUTPUT_DIR` - путь к месту сохранения схем; + - `DATABASE_CONNECTION` - строка подключения к БД (только PostreSQL). +- Для создания структуры БД в командной строке запустите `dotnet ef database update`. +- Проект готов к работе. + + ## Общая структура ### `SchemaBuilder` @@ -17,6 +28,30 @@ data = JObject.Parse(reader.ReadToEnd()); // Загрузка данных 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` Классы загрузки и обработки данных. + + +# TODO + +- Добавление экипировки +- Добавление бестиария \ No newline at end of file