Назад в блог
Архитектура

Личный таск-трекер на Laravel: задачи, время и канбан

Разбор внутреннего таск-трекера с проектами, таймером, канбаном, календарём и отчётами.

Личный таск-трекер на Laravel: задачи, время и канбан

Зачем таск-трекер внутри портфолио

Вместо отдельного учебного CRUD я сделал инструмент, которым можно пользоваться при развитии самого сайта. Задача хранит проект, статус, приоритет, дедлайн, оценку, теги и признак фокуса дня.

Учёт времени

Есть ручные записи и автоматический таймер. Доменное правило запрещает одновременно запускать таймеры двух задач. При запуске задача переходит в статус «В работе», а после остановки длительность пересчитывается в минутах.

Отчёты группируют время по дням, проектам, статусам и задачам. CSV формируется как сводка: одна строка на задачу и общий итог строго за выбранный период. Поэтому отметки одной задачи в разных месяцах не смешиваются.

Представления

Кроме обычной таблицы появились:

  • канбан с drag-and-drop сменой статуса;
  • календарь дедлайнов;
  • повторяющиеся задачи;
  • чек-листы, комментарии, вложения и связи;
  • dashboard-виджет работы за сегодня.

Самой полезной частью здесь стали тесты доменных правил: расчёт времени и ограничение активного таймера проверяются без браузера и не зависят от интерфейса Filament.