Skip to content

KateMoro/Six-Cities

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект «Шесть городов»

Cервис для путешественников, не желающих переплачивать за аренду жилья. Выбирайте один из шести популярных городов для путешествий и получайте актуальный список предложений по аренде. Подробная информация о жилье, показ объекта на карте, а также лаконичный интерфейс сервиса помогут быстро выбрать оптимальное предложение.

Описание функциональности

Страницы приложения

Приложение состоит из нескольких страниц:

  • Main ( / )
  • Sign In ( /login )
  • Favorites ( /favorites )
  • Room ( /offer/:id )

Страница Favorites доступна только авторизованным пользователям.

В шапке каждой страницы отображается ссылка на страницу «Sign In» (если пользователь не авторизован) или email пользователя и кнопка «Sign Out» (если пользователь авторизован). Клик по email пользователя в шапке выполняет переход на страницу «Favorites». Клик по кнопке «Sign Out» приводит к завершению сеанса работы — выходу из закрытой части приложения.

Обращение к несуществующей странице перенаправляется пользователя на страницу «404».

Главная страница

На главной странице отображается список городов, для которых возможно запросить предложения по аренде: Paris , Cologne , Brussels , Amsterdam , Hamburg , Dusseldorf. Сервер всегда возвращает информацию только для этих шести городов.

В заголовке списка предложений отображается количество доступных предложений. На карте предложения отображаются в виде синих маркеров.

Клик по кнопке «Избранное» добавляет карточку в избранное. Повторный клик по кнопке «Избранное» выполняет обратное действие — удаляет из избранного. Если пользователь не авторизован, то выполняется перенаправление на страницу «Sign In».

Список предложений

Пользователь может менять сортировку списка предложений. Варианты сортировки:

  • Popular Вариант по умолчанию.
  • Price: low to high От дешёвых к дорогим.
  • Price: high to low От дорогих к дешёвым.
  • Top rated first От высокого рейтинга к низкому.

Каждая карточка в списке предложений содержит информацию:

  • Фотография жилья.
  • Метка «Premium».
  • Стоимость за ночь.
  • Заголовок.
  • Краткое описание предложения.
  • Тип жилья. Одно из нескольких значений: apartment, room, house, hotel.
  • Кнопка «Избранное».
  • Рейтинг. Максимальное количество звёзд — 5.

Клик по заголовку карточки выполняет переход на страницу с подробной информацией о предложении.

Страница предложения

На странице предложения ( /offer ) представлена расширенная информация об объекте для аренды:

  • Фотографии. Выводится до 6-ти изображений.
  • Заголовок.
  • Подробное описание.
  • Премиальность.
  • Тип жилья.
  • Рейтинг. Максимальное количество звёзд — 5.
  • Количество спален .
  • Максимальное количество гостей.
  • Стоимость аренды за ночь. Сумма всегда отображается в евро.
  • Список бытовых предметов в квартире.
  • Информация о хозяине: аватарка, имя, отметка pro (звёздочка возле аватарки) и подпись Pro под именем хозяина.

Отзывы пользователей. В заголовке блока отображается общее количество отзывов. Количество отзывов в заголовке должно соответствовать количеству отображаемых отзывов.

Под списком отзывов отображается карта с предложениями неподалёку. Маркеры предложений выделены синим. Маркер текущего предложения выделен оранжевым. Карточки представленных предложений отображаются сразу под картой и содержат тот же набор информации, что и на главной странице.

Отзывы

Каждый отзыв содержит:

  • Аватар автора.
  • Имя автора.
  • Оценку.
  • Дата отзыва в формате: Месяц Год.
  • Текст отзыва.

На страницу выводится не больше 10 отзывов. Отзывы отсортированы от новых к старым (новые сверху).

Форма отправки отзыва

Форма отправки отзыва отображается только для авторизованных пользователей. Пользователь должен выставить рейтинг (от 1 до 5). Текст отзыва должен содержать от 50 до 300 символов. Пока пользователь не выбрал оценку и не ввёл текст допустимой длины, кнопка отправки отзыва не активна. При нажатии кнопки «Submit» вся форма блокируется. Разблокировка формы и кнопки происходит в случае успешной отправки или при возникновении ошибки. В случае успешной отправки отзыва форма очищается.

Страница Sign In

Для входа в сервис пользователь вводит логин (email) и пароль. Поскольку у сервиса отсутствует возможность регистрации, логин и пароль могут быть любыми, но не пустыми. В поле «логин» должен вводится корректный email. В поле «пароль» должен вводится валидный пароль. Под валидным паролем подразумевается пароль, который состоит минимум из одной буквы и цифры.

Favorites

Страница «Favorites» доступна только авторизованным пользователям. Данные для страницы «Favorites» всегда загружаются с сервера. Для этого предусмотрен отдельный маршрут. Предложения группируются по городам. Если пользователь не добавил ни одного предложения в избранное, то на странице отображается «Nothing yet saved». На странице «Favorites» пользователь может удалить предложение из избранного. После удаления предложения из избранного, список предложений актуализируется (удалённое предложение пропадает).

Releases

No releases published

Packages

No packages published