Pf2e Data Screapper

Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e.

Начало работы

  • Склонируйте репозиторий и войдите в папку Pf2eDataScrapper.
  • Создайте файл .env и добавьте в него содержимое из файла .env.example. Измените содержащиеся поля:
    • DATA_DIR - путь к папке для распаковки репозиториев обрабатываемых данных;
    • OUTPUT_DIR - путь к месту сохранения схем;
    • DATABASE_CONNECTION - строка подключения к БД (только PostreSQL).
  • Перейдите а папку Pf2eModel (cd ../Pf2eModel) и запустите dotnet ef database update для создания структуры БД в командной строке.

Роли проектов

  • Pf2eModel - общая ORM-структура модели.
  • Pf2eDataScrapper - загрузчик и обработчик данных.
  • Pf2eViewer - программа отображения базы данных.

Общая структура

Pf2eModel

Набор классов модели ORM EntityFramework.

Класс-контекст Pf2eDbContext разделён на 2 файла:

  • в Pf2eDbContext.cs находится набор таблиц и конфигурация БД,
  • в Pf2eDbContextModel.cs находится Fluent API описание связей в модели.

Для удобства модель разбита на несколько папок-пространст имён:

  • Base - здесь описан класс Entity, который является корнем всех связей и описаний. В этой таблице находятся общие характеристики объектов: название, описание, тип, а так же ссылки на общие элементы: указание источников и трейтов - всё это в пространстве имён
  • Common содержит общее классы на которые могут ссылаться разные типа.
  • Enum содержит описание всех перечислений, использующихся в модели.
  • Structure содержит все основные типы, которые связаны 1-к-1 с Entity (для указания этого используется интерфейс IEntity).

Migrations

Миграции БД, генерируются в автомотическом режиме.

Pf2eDataScrapper

SchemaBuilder

Классы обработки вводимых JSON-данных и создание схемы данных для использовании при формировании обработчиков данных.

Использование:

SchemaNode schema = new(); // Создание схемы данных

data = JObject.Parse(reader.ReadToEnd()); // Загрузка данных

schema.AddValue(data); // Добавление данных

Importers

Классы загрузки и обработки данных.

Pf2eViewer

Программа для отображения данных. Не требует дополнительной настройки.

TODO

  • Добавление экипировки
  • Добавление бестиария
S
Description
No description provided
Readme
22 MiB
Languages
C# 89.5%
PLpgSQL 10.4%
Python 0.1%