Тестовое для django-разработчика в ostrovok 🏖 Нужно реализовать базовый сервис (API) для работы с отелями. Для дополнительного контекста и перспективы, представьте что это ключевой сервис в вашем тревел стартапе.

Функциональность Список API, которые должны быть покрыты в этом задании: 🔸Создать отель поставщика 🔸Объединить 1 и более отелей поставщиков в один мета-отель 🔸Получить список мета-отелей и входящих в них отелей 🔸Перепривязать отель к другому мета-отелю 🔸Получить историю привязки отеля (к каким мета-отелям в какой момент времени он был привязан)

++Требования и ограничения ++🔹Авторизация/аутентификация не нужна 🔹Отель может быть привязан только к одному мета-отелю в один момент времени 🔹В мета-отеле должен быть минимум один отель 🔹Отель можно отвязать от мета-отеля и привязать к другому

++Пример данных ++Мета-отель:

id: mercure_pattaya

id: windways

Отель:

id: 1
name: Mercure Pattaya
supplier_id: AAA

id: 2
name: Mercure Pattaya
supplier_id: BBB

id: 3
name: Windways Hotel
supplier_id: AAA

Оценка Цель этого тестового задания - увидеть ваш лучший/самый идиоматичный код на Python/Django.

Ожидается увидеть:

  • Документацию API
  • README с описанием как запустить проект, запустить тесты и т.д
  • Чистую архитектуру, с корректной связанностью кода (decoupling), complexity isolation
  • Аккуратный, понятный, поддерживаемый код, с наличием комментариев к коду (если нужны)
  • Код на публичной платформе (github/gitlab/bitbucket)
  • Отсутствие "мертвого" кода (т.е пустые модули, неиспользуемые функции и параметры и т.д)
  • Тесты (доказательство работоспособности кода)
  • Реализация на Django + любой REST или RPC фреймворк, с которым вам комфортно
  • PostgreSQL в качестве БД (помните про блокировки, транзакции, race conditions)
  • Сервис корректно работает, если запущен в нескольких экземплярах (инстансах)
  • Проект должен запускаться через docker-compose

#тестовое | ⚡️ Забустить канал 🚀