Skip to content

YaroslavMizgirev/my-jira

Repository files navigation

my-jira

Создаю приложение похожее на Jira с функциональностью:

  • Ведение проектной деятельности;
  • "Архитектура как код";
  • Подключение ИИ помощника.

Этап 1: Выбор СУБД, создание схемы данных

За основную СУБД берем PostgreSQL 18:

  1. см. Базовые настройки в формате SQL
  2. см. Схема данных в формате SQL
  3. см. Схема данных в формате Plantuml
  4. см. Схема данных в формате SVG

ОС Debian Linux 13:

  1. см. Переменные окружения
  2. см. Dockerfile
  3. см. раздел 'postgres' в docker-compose.yml

ОС Alpine Linux 3.2.2 (легковеснее):

  1. см. Переменные окружения
  2. см. Dockerfile
  3. см. docker-ensure-initdb.sh
  4. см. docker-entrypoint.sh
  5. см. раздел 'postgres' в docker-compose.yml
# запуск контейнера
docker-compose --env-file data-scheme/postgres-18-debian/myjira.env up -d
# или (? проверить на запускаемость, особенно переменные окружения ?)
docker-compose --env-file data-scheme/postgres-18-alpine/postgres-18-alpine.env up -d

docker-compose down # Остановить контейнер

Этап 2: Разработка backend

Проект будем реализовывать с применением Spring Boot, на платформе Java 17 используя Zulu JDK FX.

Используемые зависимости в pom.xml

  • Spring Web;
  • Spring Thymeleaf;
  • PostgreSQL Driver;
  • SpringData JPA;
  • H2 Database;
  • Spring Security;
  • OAuth2 Client;
  • Validation;
  • Spring Boot DevTools;
  • Docker Compose Support
  • Flyway Migration;
  • Lombok.

Java class in src/main/java/ru/mymsoft/my_jira/model

  1. ActivityLog.java
  2. Attachment.java
  3. Comment.java
  4. FileType.java
  5. Group.java
  6. Issue.java
  7. IssueLink.java
  8. IssueLinkType.java
  9. IssueStatus.java
  10. IssueType.java
  11. IssueWatcher.java
  12. NotificationQueue.java
  13. NotificationStatus.java
  14. NotificationTemplate.java
  15. Permission.java
  16. Priority.java
  17. Project.java
  18. ProjectIssueTypeWorkflowDefault.java
  19. ProjectMember.java
  20. Role.java
  21. RolePermission.java
  22. User.java
  23. UserGroup.java
  24. UserNotificationSetting.java
  25. Workflow.java
  26. WorkflowStatus.java
  27. WorkflowTransition.java

Справочная документация

For further reference, please consider the following sections:

Справочные руководства

The following guides illustrate how to use some features concretely:

Справочное переопределение Maven Parents

Из-за дизайна Maven элементы наследуются от родительского POM к POM проекта. Хотя большая часть наследования в порядке, оно также наследует нежелательные элементы, такие как <license> и <developers> от родителя. Чтобы предотвратить это, POM проекта содержит пустые переопределения для этих элементов. Если вы вручную переключаетесь на другого родителя и на самом деле хотите наследование, вам нужно удалить эти переопределения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published