Сервис поиска фильмов и сохранения понравившихся в своем профиле.
- HTML5, CSS3, ES6+
- React
# Запуск локального сервера
npm run start
# Сборка в папку build
npm run buildPOST /signin # авторизоваться { email, password }
POST /signup # регистрация { email, password, name }
GET /users/me # информация о текущем пользователе
PATCH /users/me # обновить профиль { email, name }
GET /movies # получить массив всех сохраненных фильмов
POST /movies # сохранить фильм
DELETE /movies/:id # удалить фильм по его mongo _id
# объект фильма
{
country, # строка
director, # строка
duration, # число
year, # строка
description, # строка
image, # URL
trailer, # URL
thumbnail, # URL
owner, # MongoDB _id
movieId, # число
nameRU, # строка
nameEN, # строка
}
# Поиск
Поиск фильмов:
- мин. длина запроса 2 символа
Поиск фильмов в профиле:
- пустой поисковый запрос загрузит все фильмы профиляПримечание: при отсутствии сохраненных в профиле фильмов, бэкенд возвращает ошибку с кодом 404 🤷♂️.
# Домен для запросов
REACT_APP_API_URL=//api.website.com| Описание | URL |
|---|---|
| Домен: | films.nomoredomains.icu |
| Домен API: | api.films.nomoredomains.icu |
| Альтернативный адрес API: | films.nomoredomains.icu/api |
| Репозиторий бэкенда: | github.com/script-ninja/movies-explorer-api |
- Для показа ошибок валидации форм используется один и тот же элемент. Может возникать небольшая путаница в определении, к какому полю ввода относится сообщение.
- Используется стандартная браузерная валидация email.
- Из-за другого дизайна формы профиля, не реализованы визуальные эффекты для полей ввода этой формы при их валидации.
- Если отфильтровать сохраненные фильмы, а затем уйти с этой страницы, то результат фильтрации не сохраняется. Сохранение результатов фильтрации работает на основной странице с фильмами.
- Кэшированные данные для всех одинаковые, поэтому если пользователь выходит из аккаунта, то локальное хранилище полностью очищается.