Вместо проверки всех классов можно запрашивать с сервера /users/{id}/aggregatedWords с фильтром {"$and":[{"userWord.difficulty":"learned", "page": ${currentPage}}]}
В зависимости от страницы хедер должен меняться - на главной странице показываться желтая блямба под логотипом, на странице учебника - ссылка на учебник должна поменять цвет на коричневый, также и на остальных ссылках. Например, дополнить template.ts для хедера функцией, которая считает url через location и поменяет хедер в зависимости от того, на какой мы странице.
управлять игрой можно как мышкой, так и клавишами на клавиатуре, как это реализовано в оригинальных играх.
Управление с клавиатуры: цифры 1-5 для выбора нужного варианта, пробел для "не знаю".
если мини-игра запускается из меню, в ней можно выбрать один из шести уровней сложности, которые отличаются тем, слова какого из шести раздлов коллекции исходных данных в ней задействованы
если мини-игра запускается со страницы учебника, в ней используются слова из той страницы учебника, на которой размещена ссылка на игру. Если размещённых на странице слов для игры недостаточно, задействуются слова с предыдущих страниц. Если предыдущих страниц нет или недостаточно, игра завершается досрочно, когда закончатся все доступные слова
Для удобства проверки рекомендуется записать и разместить на YouTube небольшое (5-7 мин) видео для проверяющих с объяснением как реализован каждый пункт требований.
Особое внимание обратите на те пункты требований, которые проверяющий проверить не сможет: как вы реализовали базу данных, как задеплоили бекенд, как выглядит долгосрочная статистика и т.д. Ссылку на видео добавьте в описание pull request, можно добавить в сам проект.
Не самый большой приоритет, но нам нужно написать короткий текст о себе для "облачка" и сверстать с респонсивом страницу "О команде". Текст о том, кто что делал, пока оставим на потом.
Если слово впервые появилось в мини-игре, оно добавляется в "изучаемые" или "новые" — вне зависимости от того, открывались мини-игры на странице учебника или по ссылке в меню.
возле каждого слова, которое использовалось в мини-играх, на странице учебника указывается прогресс его изучения за весь период: было ли слово правильно угадано в мини-играх, или пользователь ошибался
Изученные слова
изученные слова, это слова, которые пользователь отметил как изученные на странице учебника
также слова считаются изученными по результатам их угадывания в мини-играх. Например, три правильные ответа подряд для обычных слов и пять правильных ответов подряд для сложных слов, либо другая логика на усмотрение разработчиков
если сложное слово стало изученным, оно перестаёт быть сложными и удаляется из раздела "Сложные слова"
изученные слова не задействуются в мини-играх, которые запускаются на страницах учебника, но задействуются в мини-играх, которые открываются по ссылке в меню
если при угадывании изученного слова в мини-игре пользователь ошибся, слово удаляется из категории изученных
Сделать главную страницу, хедер и футер красивой при любых разрешениях от 320px и до fullHD (и убрать max-width: 1920px, вдруг у кого-то из проверяющих будет 4К экран)
состоит из шести разделов, в каждом разделе 30 страниц, на каждой странице 20 слов для изучения
седьмой раздел учебника - "Сложные слова" изначально пустой. Этот раздел состоит из слов, которые пользователь отметил как сложные. Все слова в этом разделе размещаются на одной странице. На усмотрение разработчиков, слова в данный раздел добавляются либо в том порядке, в котором пользователь отмечал их как сложные, либо в порядке, в котором они находились в учебнике.
на каждой странице учебника отображается:
меню или иконка меню
список из 20 слов (в разделе "Сложные слова" слов может быть больше)
ссылки на мини-игры "Аудиовызов" и "Спринт"
навигация по страницам учебника
также необходимо реализовать навигацию по семи разделам учебника и предусмотреть небольшие различия в оформлении каждого раздела
при перезагрузке страницы открывается последняя открытая страница приложения
Логин и регистрация у нас будет попапом, чтобы войти на сайт можно было из любой страницы. Нужно ее сверстать, чтобы на втором спринте цеплять к ней логику взаимодействия с сайтом.
управлять игрой можно как мышкой, так и клавишами на клавиатуре, как это реализовано в оригинальных играх (стрелочки влево, если перевод неправильный и вправо, если правильный)
если мини-игра запускается из меню, в ней можно выбрать один из шести уровней сложности, которые отличаются тем, слова какого из шести разделов коллекции исходных данных в ней задействованы
если мини-игра запускается со страницы учебника, в ней используются слова из той страницы учебника, на которой размещена ссылка на игру. Если размещённых на странице слов для игры недостаточно, задействуются слова с предыдущих страниц. Если предыдущих страниц нет или недостаточно, игра завершается досрочно, когда закончатся все доступные слова
меню с навигацией по учебнику, ссылками на мини-игры и статистику. Меню или иконка меню отображается на всех страницах приложения
описание возможностей и преимуществ приложения
раздел "О команде" с фото или аватарками и ссылками на гитхабы всех участников команды, описанием вклада в разработку приложения каждого из них. При желании данный раздел можно вынести в отдельную страницу
footer со ссылками на гитхабы авторов приложения, год создания приложения, логотип курса со ссылкой на курс. footer отображается на всех страницах приложения за исключением мини-игр