Un dashboard premium para la gestión de objetivos personales, construido con Reflex (Python) y Supabase.
- Frontend/Backend: Reflex
- Base de Datos & Auth: Supabase
- Estilo: Glassmorphism / Dark Mode Premium
- Infraestructura de Agente: Inspirada en Prowler (TDD + Skills)
- Fase 1-3: Completadas (Entorno, Modelado de Datos, Servicio de Base de Datos).
- Fase 4: Completada (Interfaz UI Premium, Layout con Sidebar, Lógica de Navegación).
- Fase 5: En progreso (Autenticación real con Supabase).
Este proyecto sigue una metodología estrictamente dirigida por pruebas (Test-Driven Development):
- Tests de Servicio: Validación de la lógica de negocio y conexión (Mocks).
- Tests de UI: Verificación de estados de navegación y renderizado de componentes.
Para ejecutar las pruebas:
./venv/bin/pytest # Todos los tests
./venv/bin/pytest tests/test_ui.py # Solo tests de interfaz- Estilo: Premium Dark Mode con efectos de Glassmorphism (
backdrop-filter: blur(15px)). - Color de Acento: Violeta Eléctrico (
#8A2BE2). - Componentes: Sidebar persistente, estados de navegación reactivos.
El corazón de la aplicación reside en dos tablas principales ubicadas en el esquema público de Supabase:
goals: Almacena el objetivo principal.id: Identificador único (UUID).user_id: Enlace al usuario de Supabase Auth (Seguridad RLS activa).title,description,deadline: Información del objetivo.status: Estado actual (pending,in_progress, etc.).progress: Valor de 0 a 100 calculado.
milestones: Pasos intermedios para completar un objetivo.- Relación 1:N con
goals(un objetivo tiene muchos hitos).
- Relación 1:N con
Ubicados en models/goal.py, estos modelos sirven como "puente" entre la base de datos y la interfaz:
- Validación: Aseguran que los datos tengan el formato correcto antes de guardarlos.
- Tipado: Permiten que Reflex entienda la estructura del objeto para renderizar la UI.
- Python 3.11+
- Reflex CLI
- Clonar el repositorio.
- Crear y activar el entorno virtual:
python3 -m venv venv source venv/bin/activate - Instalar dependencias:
pip install -r requirements.txt
reflex runEste proyecto utiliza un sistema de Agente Inteligente configurado en AGENTS.md.