Данное приложение с авторизацией и регистрацией пользователя, взаимодействует сразу с двумя API: авторизации и API редактирования пользователя и получения карточек. Вся функциональность приложения доступна только авторизованным пользователям. Неавторизованный пользователь приходя на сайт попадает на страницу входа.
Реализована отправка данных на сервер для динамического их изменения (GET, POST, PUT, PUTCH, DELETE). Интерфейс "разбит" на отдельные функциональные блоки - «компоненты». Для доступа к внутренним ресурсам компонентов используются хуки UseState.
Одностранничный сайт представляет собой интерактивную страницу, на которую можно добавлять фотографии, описание к ним, удалять и ставить "Like", изменять данные о пользователе (ник, описание, фото-аватар).
Выполнена адаптация сайта под разрешения устройств от 320px до 1280px;
На сайте реализовано
- вызов четырех модальных окон pop-up для ввода и редактирования данных пользователя, добавления фотографий, просмотра фотографии в увеличенном формате, а также окно информирующее пользователя об успешной (или не очень) регистрации.
- закрытие окон pop-up кликом по Esc;
- все ссылки и интерактивные элементы имеют состояние наведения :hover.
При выполнении использовались технологии:
- Grid Layot
- Flexbox
- React
- JSX
- Код разделен на модули и используются конструкции export и import.
- Create React App (CRA)
- Cпециальные правила для разных размеров экранов заданы помощью media queries
Команда для сборки проекта - npm run build Для запуска проекта на локальном сервере находясь в директории проекта ввести в командной строке — npm start.
GitHub Pages