Это интерактивная SPA-страница, на которой пользователи могут искать фильмы по ключевым словам и добавлять их в избранное в личном кабинете.
- асинхронные GET- и POST-запросы к API;
- запросы к моему и стороннему API;
- защита роутов /saved-movies, /profile и /movies авторизацией;
- для хранения данных о пользователе использовал глобальную стейт-переменную currentUser, созданную с помощью createContext;
- в компонент App внедрил контекст через CurrentUserContext.Provider;
- JWT-токен храню в localStorage;
- ошибка от API обработана и пользователь видит сообщение об ошибке;
- настроил прелоадер так, чтобы он крутился, пока от сервера идёт ответ;
- кликом по карточке переводит на ютюб-трейлер фильма;
- валидация запросов;
- и непосредственная функциональность приложения
-
HTML5;
-
CSS3:
- Flexbox;
- Grid Layout;
- Positioning;
-
Методология БЭМ;
-
JavaScript:
- Стиль CamelCase;
- Промисы (Promise);
- Асинхронность и оптимизация;
- Rest API;
-
Webpack;
-
React JS:
- Create React App;
- Портирование разметки в JSX;
- Функциональные компоненты;
- Хуки.