Пользователи
Пользователи приложения делятся на две категории:
- Обычные пользователи
- Администраторы
Обычные пользователи
Обычные пользователи имеют:
- Уровень;
- Список решённых задач;
- Остальную информацию, необходимую для реализоции сервиса.
Уровень и список решённых задач пользователя получается единственный раз при регистрации пользователя в Телеграм-боте. После этого сервис Codewars отправляет уведомления сервису пользователей о решении пользователем задач и изменении его рейтинга.
Обычный пользователь:
- Может вступить в любое ещё не начатое соревнование (если он не решил ни одной задачи из этого соревнования);
- Может выйти из любого ещё не начатого соревнования;
- Может посмотреть список всех соревнований;
- Может для выбранного соревнования посмотреть список всех задач, вступивших пользователей и задач с пользователями, которые их решили;
- Не может войти в уже начатое соревнование;
- Не может выйти из уже начатого соревнования;
- После вступления в соревнование в случае решения задачи до его начала должен быть исключен из этого соревнования.
Обычный пользователь должен получать уведомления:
- О начале, завершении или удалении соревнования, в котором он участвует, а также о создании нового соревнования и решении задачи другим пользователем в соревновании, в котором он участвует.
Администраторы
Администраторы - это не расширение обычных пользователей, они могут создавать соревнования, но не могут участвовать в них. Однако на них не накладываются некоторые ограничения, которые накладываются на обычных пользователей.
Администраторы могут создавать и удалять соревнования. При создании соревнования
администратор должен указать его уникальное название, список уникальных идентификаторов
задач, например, 65ba420888906c1f86e1e680, 65128732b5aff40032a3d8f0,
дату начала и завершения соревнования, а также язык программирования для выполнения задач.
Причём желательно сразу сделать так: начать соревнование можно не раньше, чем через час
после момента создания, а завершить не раньше, чем через час после начала и не позже,
чем через неделю после начала.
Администраторы могут без каких-либо ограничений просматривать всю информацию о всех соревнованиях.