Об этом проекте
OpenMTG — это самодостаточное веб-приложение для управления коллекцией карт Magic: The Gathering. Оно предназначено для отдельных лиц и небольших групп, которые хотят хранить данные о картах, колодах и ценах на собственном сервере, а не в облачном сервисе.
Управление коллекцией позволяет пользователям добавлять карты по имени с помощью нечеткого поиска Scryfall и записывать количество, состояние, статус фойла, язык, цену и издание. Цены автоматически обновляются из Scryfall с настраиваемым интервалом и ограничением скорости (по умолчанию — каждые 72 часа и 2 запроса в секунду). Коллекции и колоды можно импортировать и экспортировать в нескольких форматах, а списки колод из Moxfield, MTGO или Arena можно вставить, чтобы создать заполненную колоду в один шаг с индикатором прогресса для каждой карты.
Конструктор колод поддерживает зоны основной колоды, сайдборда и командира, а также вид анализа колоды, показывающий CMC, кривую маны и распределение цветов. Страница статистики разбивает коллекцию по редкости, цвету, типу, состоянию, изданию и оценочной стоимости. Список желаний отслеживает текущую цену, историю цен за 90 дней и отправляет оповещения, когда карты опускаются ниже целевой цены.
Другие функции включают администрируемые многопользовательские аккаунты с изолированными коллекциями, обмен картами между пользователями на одном экземпляре с подтверждением с обеих сторон перед передачей карт, отслеживание займов с указанием имени получателя и даты, загрузку фотографий карт спереди и сзади, избранное, быстрый поток добавления, поддержку USD и EUR, а также определяемые администратором валюты с автоматическим обновлением курса. Имеется публичная страница Showroom, которая показывает только явно выбранные карты и колоды и может быть отключена для каждого экземпляра. Опциональная интеграция с Home Assistant отправляет оповещения об обмене и списке желаний через веб-хуки для каждого пользователя и предоставляет доступ к живой статистике коллекции через аутентифицированный по bearer токен конечный пункт; она управляется администратором и отключена по умолчанию.
Стек состоит из Python 3.14 с FastAPI, SQLAlchemy и Alembic на бэкенде, а также React с Vite и TanStack Query на фронтенде. Хранилище — PostgreSQL 16 или SQLite, в зависимости от используемого файла Compose, и фиксируется при первой настройке. Nginx выступает в роли обратного прокси, а развертывание осуществляется через Docker и Docker Compose, прослушивая порт 8080 по умолчанию. Конфигурация выполняется через файл .env и панель настроек администратора, а миграции базы данных запускаются автоматически при старте. Телеметрия является необязательной и анонимной, ее можно отключить с помощью переменной среды NOTEL. Проект лицензирован под AGPL-3.0; учетная запись администратора создается при первом запуске, после чего только администраторы могут создавать дополнительных пользователей.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.