Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
 Проект на 2-3 человек
Задача - разработать прототип распределенного приложения для бронирования комнат (квартир, апартаментов, ...)

...

  1. Бронирование комнаты. Клиент после выбора комнаты и дат бронирования, нажимает "бронировать", бронь сохраняется в MongoDB, комната блокируется в Hazelcast. После оплаты (символически), статус брони меняется на "оплачено", комната разблокируется в Hazelcast.
  2. Поиск свободных комнат (Elastic SearchOpenSearch). Поиск по описанию, адресу и датам бронирования. Для удобства поиска по датам, при сохранении брони в MongoDB в ElasticSearch можно индексировать свободные даты.

...

  1. Обсудить предметную область, детально описать модель хранимых данных.
  2. Разработка
    1. Заполнить тестовыми данными MongoDB (Клиент, комната)
    2. Разработать класс-сервис бронирования с методом предварительного бронирования (с распределенной блокировкой в Hazalcast)
    3. Расширить сервис бронирования индексированием данных в
  3. ElasticSearch
  4. Разработать веб-страницу для бронирования
  5. Разработать веб-страницу для поиска комнат
    1. OpenSearch
    2. Реализовать метод оплаты (фиксация бронирования, обновления OpenSearch индекса и снятия блокировки)
  6. Интеграция и тестирование
    1. Подготовить данные (порядка десятков тысяч клиентов, десятков тысяч комнат, миллионов броней)
      1. Комнаты можно взять отсюда http://insideairbnb.com/get-the-data.html.  http://data.insideairbnb.com/united-kingdom/england/london/2017-03-04/data/listings.csv.gz содержит более 140 000 записей
      2. Клиентов - пользователей stackoverflow
      3. брони - сгенерировать
      4. Подготовить данные (порядка десятков тысяч клиентов, десятков тысяч комнат, миллионов броней)
      5. Функциональное тестирование и исправление ошибок
      6. Протестировать поведение системы при отключении одного
    2. узла
      1. и более узлов