Техническое задание: Система управления лицензиями и админ-панель

Цель проекта

Автоматизировать ручное управление доступом клиентов к контенту в ПК-приложении (лаунчере) через удобную веб-админку и централизованный сервер лицензий.

Основные функциональные требования

1. Веб-админ-панель

  • Простая авторизация для администратора.
  • Список всех клиентов с возможностью поиска/фильтрации.
  • Для каждого клиента необходимо настроить:
    • Дата окончания лицензии - до какого числа оплачен доступ.
    • Список игр - управление доступом через галочки (включить/выключить).
    • Статус аккаунта - «Активно» или «Отключено» (ручное управление).
  • Интерфейс должен быть минималистичным и удобным для ежедневного использования.

2. Логика работы системы

  • При сохранении настроек клиента изменения должны немедленно влиять на доступ в лаунчере.
  • Система должна автоматически отслеживать дату окончания лицензии:
    • По истечении срока доступ к играм блокируется.
    • Автоматическое включение доступа при истечении срока не предусмотрено - только ручное вмешательство через админку.
  • При статусе «Отключено» игры у клиента не запускаются, независимо от срока лицензии.

3. Сервер лицензий (API)

  • Необходимо реализовать простой API-эндпоинт.
  • Лаунчер на ПК клиента будет отправлять запрос с идентификатором клиента.
  • API должен возвращать ответ в машиночитаемом формате (например, JSON), содержащий:
    • Общий статус аккаунта (активен/отключен).
    • Список идентификаторов разрешенных для запуска игр.
    • Информацию об оставшемся сроке лицензии (опционально).

Критерии приемки

  • Админ-панель работает стабильно, изменения применяются мгновенно.
  • API надежно отвечает на запросы от лаунчера.
  • Реализована автоматическая блокировка доступа по истечении срока оплаты.
  • Интерфейс интуитивно понятен и позволяет быстро управлять доступом клиентов.

Редизайн главной страницы и разработка новых разделов сайта

Необходимо провести редизайн главного экрана существующего сайта и добавить несколько новых страниц с уникальным контентом. Задача включает в себя как визуальное обновление, так и структурное расширение функционала.