|
|
29e4bc6650
|
feat(m12): meetings + schedule conflict detection, tests, e2e
- MeetingRepository (CRUD, soft-delete, members, findMeetingsByUserInRange
overlap) + CalendarRepository.findByCreatorInRange + TodoRepository.
findHighPriorityByAssignee
- MeetingService (createMeeting tx+members, meeting_invited notify,
meeting_created activity, SSE meeting.created; updateMeeting/updateMinutes/
deleteMeeting; checkScheduleConflicts = other meetings overlap + calendar
events overlap + high-priority todos due +-3d, time-overlap logic,
excludeMeetingId; conflicts are warnings)
- APIs: meetings list/create/edit + /check conflict check
- Screens: meetings page + MeetingForm(member checkboxes, conflict display)
+ ConflictWarning, ProjectNav link
- Unit tests (MeetingRepository, MeetingService incl. conflict algorithm)
+ e2e meetings
|
2026-06-25 02:19:25 +02:00 |
|
|
|
385b251cc7
|
feat(m9): todo/kanban with DnD, assignee notify, completion, tests, e2e
- TodoRepository (column CRUD, item CRUD, soft-delete, ordering, maxOrderIndex,
project isolation) + TodoService (lazy standard-column init, member/admin
permission, create/update/move/toggleComplete/delete, todo_assigned notify,
todo_created/updated/completed activity logs, SSE todo.updated)
- APIs: columns + items (GET/POST/PATCH/DELETE), toggleComplete + move
- KanbanBoard client (HTML5 drag&drop move, new task per column, complete),
todos page, ProjectNav ToDo link
- Unit tests (TodoRepository, TodoService) + e2e todo-kanban
|
2026-06-25 01:54:24 +02:00 |
|