Задача:

Разработать интерфейс бронирования космических полётов, используя SpaceX Open API.

Функции интерфейса:

  1. Просмотр списка предстоящих космических полётов.
  2. Просмотр списка прошедших космических полетов.
  3. Просмотр списка забронированных космических полётов.
  4. Бронирование космического полёта.
  5. Отмена бронирования космического полёта.
  6. Детальный просмотр информации о полёте.

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

  1. Основная страница состоит из заголовка и трёх столбцов с карточками полётов. При загрузке данных отображаются скелетоны.
  2. Бронирование происходит механизмом drag-n-drop из второго столбца в третий. Система оповещает пользователя об успешном бронировании.
  3. Первый столбец заблокирован для drag-n-drop.
  4. Отмена бронирования происходит механизмом drag-n-drop из третьего столбца во второй. При отмене бронирования система просит подтверждения у пользователя модальным окном.
  5. При клике на карточку полёта система перенаправляет пользователя на страницу с подробным описанием полёта. (Структура страницы на усмотрение исполнителя. Обязательное условие - наличие элемента интерфейса, отвечающего за возврат на главную страницу).

Схема интерфейса основной страницы:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e802aaed-e641-46ee-82a8-033aece3ecf2/.jpg

API:

  1. В качестве API используется https://github.com/r-spacex/SpaceX-API/tree/master/docs
  2. Для приложение требуется один эндпоинт - launches.