Skip to content

Leturgone/MasterPlanApi

Repository files navigation

MasterPlanApi

Deploy Swagger Docs to GitHub Pages pages-build-deployment

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

Установка

  1. Склонировать репозиторий
git clone https://github.com/Leturgone/MasterPlanApi.git
  1. Cd к директории
cd MasterPlanApi
  1. Создать .env
nano .env
  1. Заполнить переменные .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
  1. Запустить контейнер
docker-compose up

Архитектура

Используется архитектурный подход Модульный монолит. Сочетает подход микросервисной и монолитной архитектуры. Приложение развертывается как единое целое, но каждый модуль взаимодействует с друг другом используя публичные интерфейсы.

Приложение состоит из следующих модулей: изображение

Схема БД

СхемаБд3

Использование

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

изображение

Дашборд с логами доступен по адресу http://localhost:3000

изображение

Packages

 
 
 

Contributors