The MindFlow dashboard is the student’s command centre — a single API call returns everything needed to render the full study overview. Active tasks sorted by deadline, pending micro-objectives grouped under their parent tasks, and a chronological fatigue history are all returned together, eliminating the need for multiple round-trips on page load. The frontend uses Next.js App Router with SWR for data fetching and Recharts to render the fatigue time-series chart. When a student marks a micro-objective complete, the dashboard reflects the change within 2 seconds without requiring a full page reload.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/J0S3-LEON/pf_pruebasAseguramientoCalid_SDD/llms.txt
Use this file to discover all available pages before exploring further.
Dashboard endpoint
studentId is read from the JWT payload, and the response contains only data belonging to that student — no cross-account data is ever returned.
Response structure
What the dashboard contains
Active tasks
All tasks where
is_deleted = false, sorted by deadline ascending. Each task includes its micro-objectives in the response.Pending micro-objectives
All micro-objectives where
is_completed = false and is_audit_only = false, grouped by their parent task.Fatigue history
The last 30 fatigue records for the student, ordered by
recordedAtUtc descending (most recent first). Reverse the array before passing it to a time-series chart if you need oldest-first ordering.Empty state
If the student has no sessions yet, the
fatigueHistory array is empty and the frontend displays an invitation to start their first EMA session.Fetching dashboard data
Active tasks
Thetasks array contains every task where is_deleted = false, ordered by deadline in ascending order. Each task object embeds its micro-objectives (those with isAuditOnly = false) sorted by createdAt ascending.
Pending micro-objectives
ThemicroObjectives array is the flat union of all micro-objectives embedded in the tasks above, filtered to those with isCompleted = false and isAuditOnly = false. Use taskId to group them under their parent task in the UI.
Fatigue history chart
ThefatigueHistory array contains the last 30 FatigueRecord entries for the student, ordered by recordedAtUtc descending (most recent first). If your chart library expects oldest-first ordering — as Recharts’ LineChart and AreaChart do — reverse the array before mapping it to chart data.
Marking a micro-objective complete
Although micro-objectives are surfaced in the dashboard response, they are updated through the task sub-resource endpoint:Empty state
When a student has no completed EMA sessions,fatigueHistory is an empty array ([]). The frontend interprets this as the empty state and renders an invitation card prompting the student to start their first EMA session via POST /api/v1/sessions.
Data isolation
The dashboard query always scopes every sub-query to the authenticatedstudentId. There is no way to retrieve another student’s tasks, micro-objectives, or fatigue records through this endpoint. Cross-account data leakage is prevented at the service layer — not just at the API boundary.