adt -- application-design-test
SVI cc5932b61c SVI начало | há 8 meses atrás | |
---|---|---|
README.md | há 8 meses atrás | |
go.mod | há 8 meses atrás | |
main.go | há 8 meses atrás |
В коде представлен прототип сервиса бронирования номеров в отелях, в котором реализована возможность забронировать свободный номер в отеле.
Сервис будет развиваться, например:
Провести рефакторинг структуры и кода приложения, исправить существующие проблемы в логике. Персистентное хранение реализовывать не требуется, все данные храним в памяти сервиса.
В результате выполнения задания ожидается структурированный код сервиса, с корректно работающей логикой сценариев бронирования номеров в отелях.
Чеклист:
Ограничения:
На встрече ожидаем что ты продемонстрируешь экран и презентуешь свое решение: расскажешь какими проблемами обладает исходный код и как они решены в твоем варианте. Мы будем задавать вопросы о том почему было решено разделить ответственность между компонентами тем или иным образом, какими принципами ты при этом руководствуешься. Спросим что будет если продакт решит добавить какую-то новую фичу — как она ляжет на предложенную тобой структуру. Также можем поговорить и о более технических вещах: о значениях и указателях, многопоточности, интерфейсах, каналах.
go run main.go
curl --location --request POST 'localhost:8080/orders' \
--header 'Content-Type: application/json' \
--data-raw '{
"hotel_id": "reddison",
"room_id": "lux",
"email": "guest@mail.ru",
"from": "2024-01-02T00:00:00Z",
"to": "2024-01-04T00:00:00Z"
}'