Пользователи

Пользователи приложения делятся на две категории:

  • Обычные пользователи
  • Администраторы

Обычные пользователи

Обычные пользователи имеют:

  • Уровень;
  • Список решённых задач;
  • Остальную информацию, необходимую для реализоции сервиса.

Уровень и список решённых задач пользователя получается единственный раз при регистрации пользователя в Телеграм-боте. После этого сервис Codewars отправляет уведомления сервису пользователей о решении пользователем задач и изменении его рейтинга.

Обычный пользователь:

  • Может вступить в любое ещё не начатое соревнование (если он не решил ни одной задачи из этого соревнования);
  • Может выйти из любого ещё не начатого соревнования;
  • Может посмотреть список всех соревнований;
  • Может для выбранного соревнования посмотреть список всех задач, вступивших пользователей и задач с пользователями, которые их решили;
  • Не может войти в уже начатое соревнование;
  • Не может выйти из уже начатого соревнования;
  • После вступления в соревнование в случае решения задачи до его начала должен быть исключен из этого соревнования.

Обычный пользователь должен получать уведомления:

  • О начале, завершении или удалении соревнования, в котором он участвует, а также о создании нового соревнования и решении задачи другим пользователем в соревновании, в котором он участвует.

Администраторы

Администраторы - это не расширение обычных пользователей, они могут создавать соревнования, но не могут участвовать в них. Однако на них не накладываются некоторые ограничения, которые накладываются на обычных пользователей.

Администраторы могут создавать и удалять соревнования. При создании соревнования администратор должен указать его уникальное название, список уникальных идентификаторов задач, например, 65ba420888906c1f86e1e680, 65128732b5aff40032a3d8f0, дату начала и завершения соревнования, а также язык программирования для выполнения задач. Причём желательно сразу сделать так: начать соревнование можно не раньше, чем через час после момента создания, а завершить не раньше, чем через час после начала и не позже, чем через неделю после начала.

Администраторы могут без каких-либо ограничений просматривать всю информацию о всех соревнованиях.