Skip to content

vasalerm14/java-task-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Tracker

Task Tracker — учебный проект по программе «Java-разработчик» в Яндекс Практикум.
Сервис для управления задачами: позволяет создавать задачи, эпики и подзадачи, отслеживать их статусы, хранить историю просмотров и работать через HTTP-API.


🚀 Основной функционал

  • Задачи (Task):

    • создание, обновление и удаление задач,
    • установка продолжительности и времени начала,
    • автоматический расчёт времени окончания.
  • Эпики (Epic):

    • объединение подзадач,
    • автоматический расчёт статуса по статусам подзадач,
    • вычисление общей продолжительности и периода выполнения.
  • Подзадачи (Subtask):

    • связаны с конкретным эпиком,
    • создание, обновление, удаление, просмотр.
  • История просмотров (History):

    • сохранение последних просмотренных задач,
    • отсутствие дублей в истории,
    • быстрый доступ к последним действиям.
  • Приоритизация задач:

    • сортировка по времени начала,
    • контроль пересечений по времени выполнения.
  • Хранение состояния:

    • файловое (CSV),
    • через внешний KV-сервер (HTTP).
  • HTTP API:

    • эндпоинты для работы с задачами, эпиками и подзадачами,
    • получение истории /tasks/history,
    • список задач в приоритетном порядке /tasks.

🛠 Архитектура

Приложение построено на Java Core без использования Spring.

  • Используется многослойная структура: менеджеры → хранилища → API.
  • Доступ к данным реализован через:
    • файловое хранилище (CSV),
    • KV-сервер для сохранения состояния через HTTP.
  • Поддерживается запуск собственного HTTP-сервера (HttpTaskServer) для REST-взаимодействия.

⚙️ Технологии

  • Java 11
  • Gson (работа с JSON)
  • HTTP Server (встроенный, без Spring)
  • CSV (сохранение состояния)
  • JUnit 5 (модульные и интеграционные тесты)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages