You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Planning-go — простой планировщик задач (Go + AngularJS)
Описание
Небольшой учебный проект: веб‑приложение для планирования задач по направлениям.
Backend на Go хранит данные в JSON‑файле и отдаёт REST‑эндпоинты.
Frontend на AngularJS (1.x) с Bootstrap отрисовывает список задач, расписание и статистику.
Возможности
Направления: название, приоритет, рабочие окна времени (WhenWork), дневной лимит (HowLongDay), описание.
Задачи: длительность, приоритет (сумма приоритета направления и задачи), метка (Label), статус выполнения, учёт отработанного времени.
Повторяемые задачи: выбор дней недели, авто‑восстановление по расписанию.
Расписание: генерация слотов по 30 минут для активных направлений с учётом приоритета и рабочих окон; вставка 10‑минутных перерывов; отметка выполненности слотов на лету.
Статистика: агрегирование времени по направлениям за последние дни.
Технологии и архитектура
Backend: Go 1.x, стандартная библиотека net/http, JSON‑сериализация.
Хранение данных: tasks.json (автобэкап в tasks_backup.json каждые 5 минут).
Маршруты:
/ — отдаёт клиент client/main.html.
/client/* — статические файлы фронтенда.
/direction/ — CRUD для направлений (GET/PUT/POST/DELETE).
/task/ — CRUD для задач, поддержка фильтров executed и direction.
/schedule/ — сгенерированное расписание и отметка выполнения слотов (POST по id).