Skip to main content

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.

MindFlow is a full-stack web platform built with Next.js, NestJS, and PostgreSQL. It uses an EMA (Ecological Momentary Assessment) chatbot to measure a student’s mental fatigue on a 1–5 scale, then automatically breaks down difficult tasks into micro-objectives of 25 minutes or less — reducing cognitive friction and making it easy to take the next step.

Introduction

Understand the problem MindFlow solves and how the system fits together.

Quickstart

Clone the repo, set environment variables, and run MindFlow locally in minutes.

Architecture

Explore the three-tier monorepo: Next.js frontend, NestJS API, and PostgreSQL.

API Reference

Full reference for every REST endpoint under /api/v1/.

How MindFlow Works

1

Student logs in

Register with an email and password. MindFlow issues a signed JWT that grants access to all protected endpoints for 24 hours.
2

Start an EMA session

The EMA chatbot asks for a fatigue score from 1 to 5. This score is persisted with a UTC timestamp and linked to the active session.
3

Tasks get intelligently adapted

If fatigue ≥ 4, the Task Decomposer calls an external LLM to split every active task into 2–7 micro-objectives, each capped at 25 minutes. If fatigue ≤ 3, tasks are shown in their original form.
4

Track progress on the Dashboard

The Dashboard displays active tasks sorted by deadline, pending micro-objectives grouped by parent task, and a time-series chart of the last 30 fatigue scores.

Key Features

EMA Chatbot

Real-time fatigue assessment via a conversational interface. Scores outside [1, 5] are rejected without being recorded.

Task Decomposer

AI-powered breakdown of complex tasks into actionable micro-objectives when fatigue is high.

Student Dashboard

Consolidated view of tasks, micro-objectives, and a 30-session fatigue history chart.

Notifications

Contextual reminders with frequency limits (≤3/day) and suppression during active EMA sessions.

Authentication

JWT-based auth with bcrypt hashing, 24-hour token expiry, and global guard with public route exceptions.

Property-Based Testing

27 correctness properties verified with fast-check across hundreds of random inputs per run.

Build docs developers (and LLMs) love