Пример документации на уровне приложения.
Основной пакет этого приложения.
Настройки приложения, Quarkus и библиотек.
SQL-код доступа к Postgres (jOOQ).
Entity-классы для репозиторных классов (Panache).
Panache-репозитории.
Автоматически сгенерированный маппинг схемы БД на Kotlin (jOOQ). Из особенностей -- любые поля nullable.
Бизнес-логика, по возможности без технического кода.
Трансляция клиентов на бизнес-язык (модели).
Модели -- entity, value objects.
Доменные сервисы и use cases.
Входная точка для GraphQL. По сути такой же контроллер как и для HTTP.
Сервисы уровня приложения (могут координировать несколько доменных сервисов). Их суть -- протоколонезависимое API приложения.
Вспомогательные классы, которые в идеальном мире должны быть в других репозитариях. Например, NowUtils позволяет писать unit-тесты, если нужно замокать текущее время.
Входная точка для HTTP.