Ответ
Технологический стек текущего backend-проекта:
- Язык и фреймворк: Java 17+, Spring Boot 3.x (основной фреймворк).
- Работа с данными: Hibernate (JPA) в качестве ORM, PostgreSQL — основная реляционная БД.
- Документирование API: RESTful API с документацией через OpenAPI (Swagger).
- Вспомогательные библиотеки:
- Lombok — для сокращения шаблонного кода.
- MapStruct — для преобразования между Entity и DTO.
- Liquibase — для управления миграциями схемы БД.
- Тестирование: JUnit 5, Mockito, Testcontainers для интеграционных тестов.
Пример базовой конфигурации приложения:
@SpringBootApplication
@EnableJpaRepositories
@EntityScan("com.example.domain")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Инфраструктура:
- Асинхронная коммуникация: Apache Kafka для обмена событиями между сервисами.
- Мониторинг: Prometheus для сбора метрик, Grafana для визуализации.
- Контейнеризация: Docker, развертывание в Kubernetes-кластере.
- CI/CD: GitLab CI для автоматизации сборки, тестирования и деплоя.