Модульное монолитное приложение на Java 22 + Spring Boot для финансовых услуг.
Проект организован в модульную структуру с разделением по функциональности:
- auth_user - Аутентификация и управление пользователями
- finance - Финансовые операции и транзакции
- calc_engine - Движок расчетов
- advice_engine - Движок рекомендаций
- report_engine - Движок отчетов
Каждый модуль содержит следующие пакеты:
entities- JPA сущностиrepositories- JPA репозиторииservices- Бизнес-логикаcontrollers- REST контроллерыdto- Объекты передачи данныхutils- Утилитыconfiguration- Конфигурация модуля
- Java 22
- Spring Boot 3.4.0
- Spring Data JPA
- H2 Database (для разработки)
- Liquibase (миграции БД)
- Lombok
- Maven
- Java 22+
- Maven (или используйте Maven Wrapper)
# Компиляция
./mvnw clean compile
# Запуск приложения
./mvnw spring-boot:run- local - для локальной разработки (application-local.yml)
- def - дефолтные настройки (application-def.yml)
- Порт: 8080
- Context path: /api
- H2 Console: http://localhost:8080/api/h2-console (только для local профиля)
Проект использует H2 in-memory базу данных для разработки. Миграции Liquibase находятся в папке src/main/resources/liquibase/.
master-changelog.xml- главный файл миграций{module}/changelog.xml- миграции для каждого модуля
После запуска приложения доступны следующие endpoints:
GET /api/actuator/health- проверка состояния приложенияGET /api/actuator/info- информация о приложенииGET /api/actuator/metrics- метрики приложения
- Добавляйте сущности в соответствующие пакеты
entities - Создавайте репозитории в пакетах
repositories - Реализуйте бизнес-логику в пакетах
services - Создавайте REST endpoints в пакетах
controllers - Добавляйте миграции БД в соответствующие
changelog.xmlфайлы
src/
├── main/
│ ├── java/com/fingrad/
│ │ ├── auth_user/
│ │ ├── finance/
│ │ ├── calc_engine/
│ │ ├── advice_engine/
│ │ ├── report_engine/
│ │ └── FinGradBackendApplication.java
│ └── resources/
│ ├── application-local.yml
│ ├── application-def.yml
│ └── liquibase/
└── test/