REST API для контроля выполнения планов мероприятий для приложения MasterPlan
MasterPlanApi - серверная часть системы MasterPlan. Позволяет контролировать планы мероприятий, включая отслеживание статусов проверки отчетов и выполнения планов и задач из них. Кроме того позволяет руководителю отслеживать метрики исполнителей, включающих загруженность и количество назначенных задач.
- Backend: SpringBoot, Spring Modulith. Spring MVC
- Работа с Exel файлами: Apache POI
- Язык программирования: Kotlin
- База данных: PostgreSQL
- Безопасность: JWT, Bouncy Castle, Argon2
- Документация API: Swagger UI
- Тестирование: JUnit, MockK
- Мониторинг: Grafana, Loki, Promtail
- Архитектура: Clean Architecture, Модульный монолит, MVC
- Развертывание: Docker
- CI/CD: gh-pages
- Склонировать репозиторий
git clone https://github.com/Leturgone/MasterPlanApi.git- Cd к директории
cd MasterPlanApi- Создать .env
nano .env- Заполнить переменные .env
DATABASE_USER=postgres
DATABASE_PASSWORD=password
MASTERPLAN_JWT_SECRET=your_jwt_secret
MASTERPLAN_FILES_STORAGE=your_files_storage_path
MASTERPLAN_FILES_STORAGE_ENCRYPT_KEY=your_files_storage_encrypt_key- Запустить контейнер
docker-compose upИспользуется архитектурный подход Модульный монолит. Сочетает подход микросервисной и монолитной архитектуры. Приложение развертывается как единое целое, но каждый модуль взаимодействует с друг другом используя публичные интерфейсы.
Приложение состоит из следующих модулей:

Документация Swagger представлена после развертывания по адресу http://localhost:8080/swagger-ui/index.html#/ а также в gh pages
Дашборд с логами доступен по адресу http://localhost:3000