This repository contains the code for a booking server application, built following the principles of clean architecture.
Layers of the Application
Entities (Сущности): Это представляют собой бизнес-объекты в нашем приложении, которые содержат бизнес-логику. В нашем случае, это структура Order.
Use Cases (Варианты использования): Это слой, где мы определяем, как именно взаимодействуют сущности для выполнения конкретных бизнес-операций. В данном случае, это интерфейс Storage, который определяет операции с заказами, и интерфейс Cache, который определяет операции с кешем.
Interface Adapters (Адаптеры интерфейсов): Это слой, где мы адаптируем данные из формата, удобного для использования внутри нашего приложения, в формат, который можно использовать для внешнего представления или взаимодействия с внешними системами. В данном случае, это функции обработчики HTTP-запросов, которые преобразуют данные из HTTP-запросов в структуры Order и обратно.
Frameworks and Drivers (Фреймворки и Драйверы): Это внешние системы и инструменты, которые мы используем для построения нашего приложения. В данном случае, это web-сервер и маршрутизатор, предоставляемые библиотекой go-chi/chi, и функция main, которая запускает наше приложение.