Вначале пользователь настраивает modelCraft через папку проекта. В этой папке проекта файлы конфигурации, метамодели и скрипты. Файлы конфигурации — это документы в формате YAML. В них пользователь прописывает, где и как получить доступ к справочникам и API инструментов вроде Airbyte и Airflow. Метамодели дают описание структуры данных: какие есть сущности, как они вложены друг в друга, какими атрибутами описываются. Метамодели для инструментов уже встроены в modelCraft, например, для Airbyte есть сущности
Source,
Destination,
Connection со всеми полями-атрибутами. Для своих справочников пользователь создает метамодели сам. К примеру, для каталога товаров он может задать сущности
Category,
Subcategory и
Item, задать между ними связи
Many-to-One и добавить атрибуты
name,
size,
color.
Скрипты — файлы на Python, которые бывают трех видов:
- скрипты валидации — определяют правила, по которым modelCraft будет проверять, что метаданные корректны, и поведение при ошибке (попытаться исправить, выделить ячейку в таблице, сообщить ответственному),
- скрипты пайплайнов — последовательность шагов по сбору и обработке метаданных,
- скрипты генерации, которые создают документы (HTML, PDF, YAML) по метаданным на основе шаблонов.
Пользователь загружает папку проекта на сервер, и modelCraft подключается к справочникам и инструментам, получает от них метаданные, проводит валидацию, ставит в расписание выполнение пайплайнов и генерирует документы. Пользователь может посмотреть метаинформацию через веб-интерфейс или консольное приложение.