Skip to content

varnikova/filmopoisk

Repository files navigation

Filmopoisk

Мои впечатления нифига не успела, дедлайн жесть на такое дз, сори за код говна, я в депрессии

Сделано:

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

Создан github-репозиторий, в нём есть README, gitignore;

Проект запускается;

Вёрстка соответствует дизайн-макетам (допускаются минимальные отхождения, адаптив не требуется) (частично);

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

Шапка:

Позиционируется липко (стики);

Авторизация:

Для реализации модального окна используется портал;

После успешной авторизации кнопка «Войти» меняется на заглушку иконки пользователя и кнопку «Выйти»;

Сохраняем авторизационный токен из ответа ручки бэка /login (например, в localStorage); (Redux persist)

С токеном стоит работать через thunk;

По клику на кнопку «Выйти» удаляем токен и снимаем авторизацию;

При инициализации приложения проверяем авторизационный токен;

Реализована страница списка фильмов:

Поиск:

Поиск происходит во время ввода пользователем символов. Дёргаем ручку /search;

Фильтры:

Реализованы фильтры с dropdown;

Фильтры сохраняются в query-params;

Реализован список фильмов с пагинацией;

Страница фильма:

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

Дёргаем ручку /movie:id;

Соответствующие данные отрисованы;

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

Оценку для фильма достаём из ручки /movie/:id;

Если пользователь авторизован, даём возможность поставить оценку — запрос мутации;

После выставления оценки обновляем кеш запроса /movie/:id;

Общий функционал:

Реализовать единообразную обработку ошибок для запросов;

Реализован лоадер;

Используем debounce для поиска фильма и выставления оценки;

Стор:

Используется rtk и rtk-query; Данные корректно разбиты на модули (пример — авторизация, searchParams из фильтров); Селекторы написаны оптимально (нет переизбытка дублирования);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published