-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrequirements.yml
76 lines (76 loc) · 10.3 KB
/
requirements.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
functional:
- Пользователь должен иметь возможность создать учетную запись используя email
- После регистрации пользователя с email письмо об успешной регистрации не должно отрпавляться на почту
- Пользователь должен иметь возможность войти в зарегистрированную учетную запись с помощью пары email:passowrd
- Никнейм должен быть от 3 до 16 символов
- Никнейм может содержать только латинские буквы, цифры и знак подчеркивания
- Никнейм должен начинаться только с латинской буквы
- Длина пароля от 6 до 16 символов
- Пароль может содержать латинские, кириллические буквы, цифры и спец.символы
- Пользователь должен иметь возможность авторизоваться на сайте через учетную запись Github
- Пользователь должен иметь возможность авторизоваться на сайте через учетную запись Discord
- Пользователь может разлогиниться из своей учетной записи
- Пользователь должен иметь возможность восстановить пароль от учетной записи
- Пользователь должен иметь возможность создать новую игру с другим зарегистрированным пользователем, с другом, или с ботом
- Пользователь может выбрать уроверь сложности игры
- Пользователь может выбрать ограничение временем на решение одной задачи в диапазоне от 3 минут до 60 минут
- Пользователь может выбрать название задачи по имени из списка или по тегам
- Сайт должен создавать игру рандомно если выбран только уровень игры и её тип
- Пользователь должен иметь возможность выбрать язык программирования для решения задачи из следующего списка (node.js.20.11.1, clojure 1.11.2.3, c++g++std=c++20, c#8.0.201, dart 3.3.1, elixir 1.16.1, go 1.22.1, haskell 9.4.7, java 21, kotlin 1.9.23, php 8.3.3, python 3.12.2, ruby 3.3.0, rust 1.76.0, typescript 5.4.2)
- Авторизированный пользователь должен иметь возможность написать в чат на главной странице сайте
- У пользовательа должна быть возможность выйти из режима игры на "домашнюю" страницу
- Пользователь должен иметь возможность после авторизации просматривать текущие лобби, соревновая и историю
- Авторизованный пользователь может присоединиться к любой доступной игре
- Пользователь может просматривать статистику и завершенные игры в профиле
- Пользователь может присоединится к игре по ссылке - приглашению
- Пользователь можем отменить им же созданную игру
- Пользователь может отказаться от игры с другом по приглашению
- Одновременно Пользователь может создать только одну игру
- Пользователь может следить за игрой других участников как гость
- Пользователь должен иметь возможность просматривать код оппонента в запущенной игре, в режиме реального времени
- Пользователь должен иметь возможность сбосить написанный им код
- На сайте, в режиме созданной игры должен отображатся вывод тестов запущенного кода
- Пользовательи должны иметь возможность обмениваться сообщениями через чат, во время игры
- В созданной игре должен отображатся таймер отведенного на игру времени
- Пользователь должен иметь возможность запустить редактор wim в режиме игры
- Авторизированный пользователь должен иметь возможность просматривать статистику профиля и список завершенных игр
- Авторизованный пользователь должен иметь возможность просматривать рейтинг пользователей (общий, за месяц, за неделю)
- Авторизованный пользователь должен иметь возможность просматривать список всех задач доступных к решению в игре
- Авторизованный пользователь должен иметь возможность создать свою собственную задачу
- Авторизованный пользователь должен иметь возможность просматривать таблицу турниров
- Авторизованный пользователь может просматривать top list пользователей
- Пользователь должен иметь возможность создать турнир
- Боты не могут сдаваться в игре
- Ползователь может изменить имя аккаунта
- Пользователь может установить предпочитаемвый язык программирования языком по умолчанию
- Пользователь может указать команду (клан) в которой он состоит
- Пользователь может выбрать тип звуковых оповещений
- Пользователь может устанавливать уровень громкости звуковых оповещений
- Пользователь может отвязать аккаунт Github в личном кабинете
- Пользователь может привязать аккаунт Discord в личном кабинете
- Пользователь может открыть описание задачи в сплывающем окне
- Пользователь может выбрать язык описания задачи (RU, EN)
- Пользователь может сдаться в созданной игре
- Пользователь должен иметь возможность выйти из игры и вернуться к ней
- Созданная игра должна завершаться автоматически через задданный интервал времени, если никто из Пользовательов не запустил написанный код
- Пользователь может начать игру с ботом с главной страницы сайта без регистрации аккаунта
- Пользователю присваивается победа, если он успешно решает задание быстрее оппонента
non-functional:
- Сайт должен быть безопасным и защищать данные пользователя
- Сайт должен иметь адаптивный дизайн для мобильных устройств и планшетов
- Сайт должен быть совместим с последними версиями браузеров Chrome, Yandex, Edge, Firefox, Safari, Opera
- Сайт должен быть способен обрабатывать трафик от 1000 пользователей онлайн
- Редактор кода должен иметь светлую и тёмную темы
- Редактор кода должен поддерживать подсветку выбранного языка программирования
- Сайт должен иметь EN локализацию
implicit:
- Должна быть реализована возможность запуска написанного кода на исполненеие
- Пользователь должен иметь возможность писать код на выбранном языке программирования
- Пользователь должен иметь возможность ознакомиться с описанием задачи
- Пользователи, в роли зрителя, не могут давать подсказки участникам состязания
- Новый пользователь не может зарегистрироваться если на указанный никнейм, логин или пароль уже была регистрация
- Пользователь не может списать код у соперника во время игры
- Пользователь не может изменять свой рейтинг вручную в профиле аккаунта
- Пользователи с premium подпиской должны иметь возможность просматривать историю игр на вкладке History
- Сайт должен иметь RU локализацию