- Технологии
- Описание
- Структура
- Интерфейс
- Инструкция по установке
- Документация JavaDoc
- Тесты
- Автор
- Критика и предложения
- VCS Git
- Java 14
- Apache Maven
- Travis-CI
- JDBC
- PostgreSQL
- Hibernate
- Junit
- Mockito
- Liquibase
Простое CRUD-приложение с консольным интерфейсом. Можно добавлять/удалять/изменять заявки, а так же выводить все текущие.
Проект делится на слои:
- Ввод (интерфейс Input). Основная реализация - ConsoleInput, обеспечивающая пользовательский ввод с консоли. Так же реализована обёртка ValidateInput для валидации ввода из любого объекта, реализующего Input. Можно создать класс, реализующий интерфейс Input для пользовательского ввода из любого другого источника(файл, веб и тд), и установить его экземпляр как объект для ввода без изменения остального кода
- Хранилище (интерфейс Store). Отвечает за хранение заявок. В проекте есть следующие реализации: 2.1 MemTracker Хранилище, использующее память, выделяемую с помощью JVM. То есть, обычный Java-объект. Соответственно, заявки не сохраняются после завершения работы программы. 2.2 SqlTracker Хранилище, использующее PostgreSql базу данных. Взаимодействие с базой происходит при помощи JDBC - протокола. 2.3 HibernateTracker Хранилище, использующее PostgreSql базу данных. Взаимодействие с базой происходит при помощи Hibernate.
- Контроллер StartUI.
- Создаёт все необходимые для рабоыт приложения объекты
- Обеспечивает интерактивное взаимодействие с пользователем.
- Создаёт все необходимые объекты UserAction, выполняющие выбранное пользователем действие
- Интерфейс "пользовательское действие" UserAction. Принимает объекты ввода и хранилища, и реализует определённое действие, которое выбрал пользователь. Например, добавить запись в Трекер.
Как запустить приложение см. в этом разделе
- При старте работы приложения пользователю в консоль выводится меню, из которого можно выбрать действие.
Типы действий:
- Добавить новую запись
- Вывести все записи, находящиеся в хранилище в данный момент
- Редактировать существующую запись
- Удалить запись
- Найти и вывести запись с определённым
id
- Найти и вывести записи с определённым именем
- Завершить работу приложения
- Добавим новую запись в Трекер.
- Выведем все записи
Как видим, запись была успешно добавлена в Трекер
- Изменим её и снова выведем все записи
- Удалим запись и выведем все записи
- Скачать JAR
- Запустить командную строку
- Перейти в папку, где находится tracker.jar
- Запустить jar-файл. Важно! Необходимо иметь на машине установленный JRE.
java -jar tracker.jar
TODO оплатить хостинг, домен. Загрузить туда документацию по всем проектам
На код написаны тесты. Процент покрытия подсчитывается плагином Jacoco, его можно посмотреть в шапке данного README файла. Модульные тесты написаны с использованием технологий Junit, Hamcrest, Mockito. На SQLTracker написаны интеграционные тесты с помощью liquibase.
Гераськин Егор Владимирович
Java-разработчик
+79271506651
Все замечания и пожелания по этому проекту просьба направлять мне на электронный адрес: [email protected]