How fdu-sp/mytodo-rear works
MyTodo-rear is a Spring Boot backend for managing tasks and organizing daily work. The main workflow is client requests through REST controllers, task/list services, and persistence, then structured responses; related branches support tags, groups, My Day recommendations and scheduling, reminders, quadrants, and focus timers. Text-based task extraction calls an OpenAI-compatible service and can pass extracted task data into task creation. The excerpts establish several service-to-DAO and orchestration calls; links for unsampled feature services are kept at the subsystem level where exact wiring is not shown.
Main entry points: dao JPA repositories · TaskService.java Task service · MyDayTaskService.java My Day service · TaskListController.java List endpoints
Components 21
REST API
- Task endpoints
src/main/java/com/zmark/mytodo/controller/TaskController.java - List endpoints
src/main/java/com/zmark/mytodo/controller/TaskListController.java - Tag endpoints
src/main/java/com/zmark/mytodo/controller/TagController.java - Extraction endpoint
src/main/java/com/zmark/mytodo/controller/TaskExtractController.java - Planning endpoints
src/main/java/com/zmark/mytodo/controller - Timer endpoints
src/main/java/com/zmark/mytodo/controller/TimerController.java
Task Organization
- Task service
src/main/java/com/zmark/mytodo/service/impl/TaskService.java - List service
src/main/java/com/zmark/mytodo/service/impl/TaskListService.java - Tag service
src/main/java/com/zmark/mytodo/service/impl/TagService.java - Group service
src/main/java/com/zmark/mytodo/service/impl/TaskGroupService.java
Planning and Reminders
- My Day service
src/main/java/com/zmark/mytodo/service/impl/MyDayTaskService.java - Reminder service
src/main/java/com/zmark/mytodo/service/impl/ReminderService.java - Quadrant service
src/main/java/com/zmark/mytodo/service/impl/FourQuadrantService.java - Daily scheduler
src/main/java/com/zmark/mytodo/scheduler/MyDayTaskScheduler.java
Focus Tracking
- Timer service
src/main/java/com/zmark/mytodo/service/impl/TimerService.java
AI Integration
- Task extraction
src/main/java/com/zmark/mytodo/service/impl/TaskExtractService.java - GPT client
src/main/java/com/zmark/mytodo/gpt/OpenAIClient.java
Other components
- Client
- OpenAI-compatible API
- JPA repositories
src/main/java/com/zmark/mytodo/dao - MySQL database
Connections 29
- Client → Task endpoints: requests
- Client → List endpoints: requests
- Client → Tag endpoints: requests
- Client → Extraction endpoint: requests
- Client → Planning endpoints: requests
- Client → Timer endpoints: requests
- Task endpoints → Task service: calls
- List endpoints → List service: calls
- List endpoints → My Day service: calls
- Tag endpoints → Tag service: calls
- Extraction endpoint → Task extraction: calls
- Timer endpoints → Timer service: calls
- Planning endpoints → Reminder service: dispatches
- Planning endpoints → Quadrant service: dispatches
- Daily scheduler → My Day service: calls
- My Day service → Task service: queries tasks
- List service → Task service: queries tasks
- Task extraction → GPT client: requests extraction
- Task extraction → Task service: creates task
- GPT client → OpenAI-compatible API: sends prompt
- Task service → JPA repositories: reads and writes
- List service → JPA repositories: reads and writes
- Tag service → JPA repositories: reads and writes
- Group service → JPA repositories: reads and writes
- My Day service → JPA repositories: reads and writes
- Reminder service → JPA repositories: accesses data
- Quadrant service → JPA repositories: accesses data
- Timer service → JPA repositories: reads and writes
- JPA repositories → MySQL database: persists data