-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrequirements.yml
40 lines (38 loc) · 4.97 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
---
functional:
- Можно выбирать один из 15ти языков программирования;
- Победа присуждается тому, кто первый написал код для решения задачи;
- Во время игры можно видеть действия соперника;
- Можно создать игру и ждать соперника;
- Можно скинуть ссылку на созданную игру конкретному пользователю;
- Можно вступить в уже созданную другим пользователем игру;
- При создании игры можно выбирать - уровень сложности, тип игры (против пользователя/друга/бота), время игры (от 3х до 60ти минут), выбрать задачу по названию или по тегу;
- В созданной игре можно выбирать - язык (ru/en), выбирать ЯП, на котором удобно выполнять задание. Есть описание задачи и примеры решения;
- У каждого пользователя свой редактор, в котором он пишет код;
- Ходы соперников отображаются в реальном времени;
- В ходе игры можно проверить правильность своего решения, неограниченное количество раз;
non-functional:
- Сайт должен быть разработан с учетом удобства использования и оптимизирован для скорости работы;
- Сайт должен быть безопасным и защищать данные пользователя;
- Сайт должен быть удобным на мобильном устройстве;
- Сайт должен быть протестирован на совместимость с последними версиями браузеров;
- Сайт должен быть способен обрабатывать большое количество трафика (например, 1000 одновременных пользователей);
- Нужно иметь возможность переключать язык на главной странице;
- Регистрация пользователя возможна по почте, через профили GitHub/Discord, логически еще можно добавить через Хекслет;
- Авторизация пользователя возможна по почте, через профили GitHub/Discord, логически еще можно добавить через Хекслет;
- При помощи расширения можно наблюдать за игрой, не заходя на сайт;
- На главной странице рейтинг. Доступна фильтрация за текущую неделе, за текущий месяц, за все время;
- Можно смотреть за игрой как зритель;
- Во время игры можно общаться с соперником и зрителями;
- Около созданной пользователем игры другие пользователи видят кнопку FIGHT;
- В окне игры есть таймер;
- Можно выходить из игры и входить обратно неограниченное количество раз, пока она не завершена;
- Как только один из пользователей решил задачу, появляется модальное окно с именем победителя;
- Проигравший пользователь может либо выйти из игры, либо дописать код;
- Когда оба пользователя вышли из игры, она считается завершенной и удаляется;
implicit:
- Нажав на никнейм пользователя, можно посмотреть основную информацию - предпочитаемый ЯП, дата регистрации, ачивки, рейтинг, количество проведенных игр, количество заработанных очков, разбивка по ЯП , активность;
- В лобби отображаются игроки онлайн;
- В лобби есть общий чат;
- Любому пользователю можно отправить приватное сообщение, добавить в друзья;
- При регистрации пользователя идет проверка правильности заполнения полей - корректный вид почты, пароль от 6 до 16 символов.