Трекер задач представляет собой бэкенд часть веб-сервисного монолитного приложения для управления задачами на основе канбан-доски. Приложение предназначено для организации совместной работы над задачами, позволяя пользователям выполнять операции создания, чтения, обновления и удаления.
- Типы задач:
- общие задачи, подзадачи и эпики. Эпики могут содержать несколько подзадач.
- Основное API:
- создание, получение, удаление, обновление, управление статусами всех типов задач.
- Дополнительное API:
- получение истории просмотров задач.
- Сохранение данных: в оперативной памяти, в файл на локальной машине (формат CSV) или на сервере.
- Серверная архитектура: два сервера — один для управления процессами сервера (приём, отправка, старт, остановка), другой для внутренней реализации логики.
- Java Core:
- ООП (Объектно-ориентированное программирование):
- Методы и классы: инкапсуляция, наследование и полиморфизм.
- Принципы: DRY (не повторяйся), сокрытие полей, переопределение методов.
- Стандартные классы:
Object
, методыequals
,hashCode
,toString
, работа с код-стилем и областями видимости.
- ООП (Объектно-ориентированное программирование):
- Git:
- Команды:
add
,commit
,status
,branch
,checkout
,merge
и другие для контроля версий.
- Команды:
- Алгоритмы и структуры данных:
- Java Collections Framework:
List
,Set
,Map
, сортировки и алгоритмы поиска. - Регулярные выражения для обработки строк.
- Java Collections Framework:
- Исключения:
- Обработка исключений с помощью
try-catch-finally
, иерархия исключений и работа со стек-трейсом.
- Обработка исключений с помощью
- Работа с файлами:
- Обработка файлов с помощью классов
File
,Files
,Path
, стримов и кодировок.
- Обработка файлов с помощью классов
- Функциональное программирование:
- Функциональные интерфейсы (
Consumer
,Supplier
,Function
), лямбда-выражения и работа с дженериками.
- Функциональные интерфейсы (
- Сетевое взаимодействие:
- Клиент-серверная модель и сетевые протоколы.
- Работа с API (REST), сериализация данных в формате JSON с использованием библиотеки GSON.
- Тестирование:
- JUnit: библиотека для модульного тестирования кода.