Проделана отличная и большая работа!
Здорово, что ты постарался реализовать как можно больше функционала.
Отмечу правильное применение svg в проекте, выделение глобальных css в переменные, хорошую архитектуру (деление на сервисы, страницы, утилиты, компоненты).
Далее мои оценки в соответствие с критериями:
Базовые требования:
Критерий
Макс.
Моя оценка
Комментарий
Создан github-репозиторий, в нём есть README, gitignore, установлены все необходимые зависимости
5 баллов.
5
Проект запускается
5 баллов.
5
Вёрстка соответствует дизайн-макетам (допускаются минимальные отхождения, адаптив не требуется)
5 баллов.
4 балла
Не реализована верстка страницы фильма. Даже если функционал не готов, можно делать заготовку-верстку с моковыми данными. При подключении функционала будет меньше работы
Функциональные требования:
Шапка
Критерий
Макс.
Моя оценка
Позиционируется липко (стики)
2 балла.
2
Авторизация
Нет реализации самой авторизации, но реализована модалка для авторизации через портал, это очень здорово!
Критерий
Макс.
Моя оценка
Для реализации модального окна используется портал
3 балла.
3
После успешной авторизации кнопка «Войти» меняется на заглушку иконки пользователя и кнопку «Выйти»
2 балла.
0
Сохраняем авторизационный токен из ответа ручки бэка (например, в localStorage)
4 балла.
0
В идеале, работать с токеном через thunk (где-то в мидлваре)
3 балла.
0
По клику на кнопку «Выйти» удаляем токен и снимает авторизацию
2 балла.
0
При инициализации приложения проверяем авторизационный токен
2 балла.
0
Реализована страница списка фильмов
Поиск:
Критерий
Макс.
Моя оценка
Комментарий
Поиск происходит во время ввода пользователем символов. Дёргаем ручку /search
4 балла.
4
Отличное применение debounce! Search дожидается, когда пользователь введет текст
Фильтры:
Критерий
Макс.
Моя оценка
Комментарий
Реализованы фильтры с dropdown
4 балла.
4
Для удобства использования можно реализовать открытие dropdown по клику в любой области dropdown, а не только при нажатии на стрелочку. Так пользователю не придется целиться в маленький элемент
Проделана отличная и большая работа! Здорово, что ты постарался реализовать как можно больше функционала. Отмечу правильное применение svg в проекте, выделение глобальных css в переменные, хорошую архитектуру (деление на сервисы, страницы, утилиты, компоненты). Далее мои оценки в соответствие с критериями:
Базовые требования:
Функциональные требования:
Шапка
Авторизация
Реализована страница списка фильмов
Поиск:
Фильтры:
Страница фильма
Не реализовано
Общий функционал
Стор
Миграция на Next
Не реализована