job4j_tracker — консольное приложение для управления задачами (Task Management System). Приложение реализует базовый функционал CRUD-операций (создание, чтение, обновление и удаление задач) и поддерживает различные способы хранения данных.
- Добавление и управление задачами:
- Создание новых задач;
- Редактирование существующих задач;
- Удаление задач.
- Поиск и отображение данных:
- Поиск задач по имени и ID;
- Вывод всех текущих задач.
- Гибкая система хранения данных:
- In-Memory Storage (Store -> MemTracker) — реализация через MemTracker (для временного хранения данных в оперативной памяти);
- БД PostgreSQL.
- Хранение в базе данных PostgreSQL:
- Работа с базой через JDBC (реализация Store -> SqlTracker);
- Работа с базой через Hibernate и HQL (реализация Store -> HbmTracker).
- Профили окружения:
- Поддержка профилей test и prod через Maven.
- Поддержка CI/CD:
- Используется GitHub Action для автоматической сборки и тестирования проекта.
- Миграция и тестирование:
- Автоматическое создание и обновление структуры БД с помощью Liquibase;
- Модульное тестирование с использованием JUnit 4 и Mockito;
- Тестирование с in-memory БД H2.
mvn install
- для сборки
java -jar target/job4j_tracker.jar
- для запуска
Приложение использует Liquibase для автоматического создания и миграции структуры БД. Для запуска в production необходимо наличие PostgreSQL.
- Java 14
- Hibernate, PostgreSQL, JDBC
- Liquibase
- Log4j
- Тесты работают с H2 Database: JUnit 4, Mockito
- Maven (с профилями test и prod)
- Apache Tomcat
- Lombok
- GitHub Actions