- Авторизация
- Сессии в БД
- Закрыть странички за авторизацию
- Регистрация
- Через админку будет добавление новых пользователей
- База данных (Postgres)
- Переехать с MySQL на PostgreSQL
- Добавить seed
- Версионирование для облегчения обновлений сервера
- Сделать изменения через миграции, а не init.sql
- CI/CD
- Линтер
- Проверка зависимостей Nancy
- Сборка контейнера и отправка в registry
- Пользователи
- Создание
- Редактирование
- Удаление
- Команды
- Создание
- Редактирование
- Удаление
- Сервисы
- Создание
- Редактирование
- Удаление
- Игры
- Создание
- По расписанию (какие сервисы, какие команды и когда)
- При загрузке zip для сервиса необходимо проверить корректность работы чекера (проверить все коды и состояния)
- Результаты
- Создание
- Редактирование
- Удаление
- Информация о команде (командах), в которой находится пользователь
- История по командам (в каких был и сколько)
- Отображение списка сервисов (которые разрешено показывать публике)
- Автор, логотип
- Возможность скачать zip, райтапы
- Отображение списка команд
- По команде - аватарка, университет, ссылки на социальные сети, краткое описание
- Текущий капитан (и его зам и зам зам капитана)
- Управление списком членов команды владельцем команды
- Возможность владельца команды приглашать пользователей в команду
- Возможность пользователей подавать заявки на вступление в команду
- Ведение истории команды (создание, изменения состава, слияния и т.д.)
- Список кто с кем и когда
- Когда игру открывают - доступ (например, через OpenVPN) для соответствующих команд и пользователей
- Должен быть scoreboard
- По завершению игры - сохранение результата scoreboard
- Процесс принятия в команду через подтверждение
- Возможность обновления аватарки и информации о себе пользователем
- Управление ролями в командах
- Возможность админам подтверждать изменения
- Ведение исторической информации и метаданных (события, действия, состояния)
- Страница для владельца команды с управлением членами команды и приглашениями
- Обновление аватарки
- Возможность обновления информации о себе: навыки, описание, контактная информация (без даты рождения и номера телефона)