Об этом проекте

Mastarr — это приложение с открытым исходным кодом, предназначенное для проверки скачанных медиафайлов и их согласования с существующими медиастеками, в частности для интеграции с Radarr, Sonarr, Jellyfin и Seerr. Находясь на этапе реализации версии 0.0.1, проект предоставляет надежную структуру для обнаружения видео- и субтитровых файлов в настроенных директориях загрузки, включая случаи, когда история загрузок была потеряна. Основная функциональность заключается в комплексном дашборде проверки, который отображает происхождение загрузок, отслеживаемые медиа и отдельные состояния для регистрации, импорта и доступности во всех подключенных экземплярах. Пользователи могут выполнять такие действия, как регистрация и импорт медиа через приложения Arr, прямое размещение файлов в библиотеках или организация и очистка файлов. Каждое из этих действий доступно через независимые REST-контракты, обеспечивая четкую структуру API. Технически Mastarr использует бэкенд на Go с архитектурой hexagonal ports, oapi-codegen для генерации API, SQLite для хранения данных, sqlc для безопасного по типу SQL и golang-migrate для миграций базы данных. Фронтенд обслуживается вложенным модулем Go UI, который выступает в качестве Backend-For-Frontend (BFF) для дашборда Goshtoso. Система поддерживает устойчивые рабочие процессы, показывая одобрения, частичные сбои, повторные попытки и статусы отмены. Функции безопасности, такие как базовая аутентификация и OIDC, запланированы на будущие версии (v0.0.2), а v0.0.1 сосредоточена на основной функциональности без аутентификации приложения. Проект включает подробную документацию, охватывающую спецификации системы, HTTP-контракты, порты коннекторов, механизмы восстановления данных, параметры конфигурации и границы дашборда. Он подчеркивает структурированный процесс разработки с полосами реализации, матрицами принятия и хуками pre-commit для качества кода.