Skip to content

Instantly share code, notes, and snippets.

@readyyyk
Last active July 1, 2024 17:15
Show Gist options
  • Save readyyyk/ab92dcad74e87e723a6b48732c5609a9 to your computer and use it in GitHub Desktop.
Save readyyyk/ab92dcad74e87e723a6b48732c5609a9 to your computer and use it in GitHub Desktop.

Если вы снижаете оценку - добавьте поле Комментарий после оценки. Например:

| Критерий         |   Макс.   | Моя оценка | Комментарий            |
|------------------|:---------:|:----------:|------------------------|
| Стать счастливым | 5 баллов. |     4      | У тебя еще нет оффера! |

Review

Базовые требования:

Критерий Макс. Моя оценка
Создан github-репозиторий, в нём есть README, gitignore, установлены все необходимые зависимости 5 баллов.
Проект запускается 5 баллов.
Вёрстка соответствует дизайн-макетам (допускаются минимальные отхождения, адаптив не требуется) 5 баллов.

Функциональные требования:

Шапка (max 2 балла)

Критерий Макс. Моя оценка
Позиционируется липко (стики) 2 балла.

Авторизация (max 16 баллов)

Критерий Макс. Моя оценка
Для реализации модального окна используется портал 3 балла.
После успешной авторизации кнопка «Войти» меняется на заглушку иконки пользователя и кнопку «Выйти» 2 балла.
Сохраняем авторизационный токен из ответа ручки бэка (например, в localStorage) 4 балла.
В идеале, работать с токеном через thunk (где-то в мидлваре) 3 балла.
По клику на кнопку «Выйти» удаляем токен и снимает авторизацию 2 балла.
При инициализации приложения проверяем авторизационный токен 2 балла.

Реализована страница списка фильмов (max 14 баллов)

Поиск:

Критерий Макс. Моя оценка
Поиск происходит во время ввода пользователем символов. Дёргаем ручку /search 4 балла.

Фильтры:

Критерий Макс. Моя оценка
Реализованы фильтры с dropdown 4 балла.
Сохранять фильтры в query-params 3 балла.
Реализован список фильмов с пагинацией 3 балла.

Страница фильма (max 17 баллов)

Реализована работа с получением данных:

Критерий Макс. Моя оценка
Дёргаем ручку /movie 4 балла.
Соответствующие данные отрисованы 3 балла.

Возможность поставить оценку:

Критерий Макс. Моя оценка
Есть запрос за получением оценки для фильма 3 балла.
Если пользователь авторизован, даём возможность поставить оценку - запрос мутации 3 балла.
После выставления оценки обновляем кеш запроса /movie 4 балла.

Общий функционал (max 8 баллов)

Критерий Макс. Моя оценка
Реализовать единообразную обработку ошибок для запросов 2 балла.
Реализован лоадер 2 балла.
Используем debounce для поиска фильма и выставления оценки 4 балла.

Стор (max 8 баллов)

Критерий Макс. Моя оценка
Используется rtk и rtk-query 4 балла.
Данные корректно разбиты на модули (пример - авторизация, searchParams из фильтров) 2 балла.
Селекторы написаны оптимально (нет кучи дублирования) 2 балла.

Миграция на Next (max 20 баллов)

Критерий Макс. Моя оценка
Реализована миграция с использованием SSR 14 баллов.
Для картинок используется Image некста. Скрины фильма, которые вне вьюпорта грузятся лениво 2 балла.
Страница фильма реализована с помощью Dynamic Routes 4 балла.

Ограничения:

  • Новая функциональность, добавленная после дедлайна, не учитывается. Допустимы минорные доработки в уже существующую логику.
  • Функциональность, реализованная с помощью запрещённых библиотек (готовый ui-kit), не учитывается.

Набранная сумма n балллов

Фидбэк

...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment