Menu

Tree [b2be71] master /
 History

HTTPS access


File Date Author Commit
 apps 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 config 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 content 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 frontend 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 static 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 systemd 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 templates 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 .editorconfig 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 .env.example 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 .gitattributes 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 .gitignore 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 README.md 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 ia-course.bat 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 ia-course.ps1 7 days ago Camilo Gaitán Camilo Gaitán [b2be71] Ajuste Instalador
 ia-course.sh 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 manage.py 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA
 pyproject.toml 2026-07-26 Camilo Gaitán Camilo Gaitán [71f967] Ajuste Curso IA

Read Me

Ruta Maestra IA

Plataforma con frontend Next.js, TypeScript y Tailwind CSS, respaldada por Django y MySQL. Incluye diagnóstico, ruta personalizada versionada, currículo modular, lecciones, evaluaciones, desbloqueo por dominio, panel de progreso y administración.

Inteligencia artificial

La plataforma reproduce el comportamiento pedagógico de Ruta Maestra mediante la Responses API de OpenAI. Un GPT compartido de ChatGPT no puede consumirse directamente como endpoint; sus instrucciones se mantienen en content/prompts/ruta_maestra.txt y se aplican al diagnóstico y al copiloto docente.

Configura en .env:

OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-5.6-terra

También puede usar OpenRouter:

AI_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-...
OPENROUTER_MODEL=openai/gpt-5.4
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1

Por compatibilidad con instalaciones anteriores, una clave sk-or-... guardada en OPENAI_API_KEY se detecta como OpenRouter, pero para nuevas instalaciones debe usarse OPENROUTER_API_KEY.

Cada consulta queda registrada en AIInteraction con propósito, modelo, contexto mínimo, resultado y estado. Sin clave, el curso y la ruta objetiva siguen funcionando, pero la interfaz indica que el análisis generativo no está configurado.

Usuario docente: Profesor / Cr260351.;.

Arquitectura

La organización toma ideas prácticas de Laravel sin ocultar las convenciones de Django:

  • config/: configuración y rutas globales (equivalente aproximado a config + bootstrap).
  • apps/*/models.py: entidades persistentes (Models/Eloquent).
  • apps/*/views.py: controladores HTTP.
  • apps/*/forms.py: validación de entrada (Form Requests).
  • apps/*/services/: casos de uso y reglas de negocio.
  • apps/*/repositories.py: consultas reutilizables.
  • templates/: vistas del servidor.
  • static/: estilos y activos.
  • apps/*/tests/: pruebas por dominio.

MySQL con utf8mb4 es el motor de persistencia. La conexión se configura mediante DB_NAME, DB_USER, DB_PASSWORD, DB_HOST y DB_PORT en .env.

Ejecutar

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
# Crea previamente la base indicada en .env con codificación utf8mb4.
python manage.py migrate
python manage.py seed_demo
python manage.py runserver 127.0.0.1:8050

En otra terminal:

cd frontend
npm install
npm run dev -- --port 3050

Abre http://127.0.0.1:3050 e ingresa con camilo y la contraseña asignada desde el gestor. La segunda instancia y el panel administrativo están en http://127.0.0.1:8050/admin/; crea un administrador con python manage.py createsuperuser.

Instalador y panel de control

En Windows abre ia-course.bat o ejecuta powershell -ExecutionPolicy Bypass -File .\ia-course.ps1. En Linux/macOS ejecuta chmod +x ia-course.sh && ./ia-course.sh.

El menú permite instalar/actualizar, iniciar, detener, reiniciar, consultar estado y revisar logs. Expone Next.js en http://127.0.0.1:3050, y Django API/Admin en http://127.0.0.1:8050. Next funciona como BFF y reenvía las sesiones a Django, evitando CORS en el navegador.

En Linux con systemd, la opción 6 instala dos servicios con arranque automático y reinicio ante fallos: ia-course-backend.service (Gunicorn/Django, 8050) e ia-course-frontend.service (Next.js, 3050). La misma opción permite actualizar o desinstalar los servicios sin borrar el proyecto ni MySQL.

En Windows, abre ia-course.bat como Administrador. La opción 6 instala NSSM mediante Winget si hace falta y registra IACourseBackend (Waitress/Django, 8050) e IACourseFrontend (Next.js, 3050) con inicio automático y logs en .ia-course-logs/. También permite actualizarlos o desinstalarlos sin borrar MySQL.

sudo systemctl status ia-course-backend ia-course-frontend
sudo systemctl restart ia-course-backend ia-course-frontend
sudo journalctl -u ia-course-backend -u ia-course-frontend -f

Pruebas

python manage.py test
python -m pytest
python manage.py check

Criterios de aceptación del MVP

  • Un estudiante sin diagnóstico es redirigido al formulario obligatorio.
  • El diagnóstico combina ocho preguntas objetivas con metas, tiempo, confianza y preferencias; luego crea una nueva versión auditable de la ruta.
  • Solo el primer módulo comienza disponible.
  • Completar lecciones registra avance.
  • Superar el umbral de una evaluación domina el módulo y desbloquea el siguiente.
  • El panel muestra porcentaje, siguiente acción y estado de cada módulo.

Límites y siguiente incremento

Este MVP usa autoevaluación numérica en el diagnóstico; el siguiente incremento debe incorporar preguntas objetivas por competencia y ponderación configurable. También faltan recuperación dirigida, calendario, registro detallado de tiempo, exportación, observabilidad y roles de instructor. Antes de producción se deben activar validadores de contraseña, configurar secretos, HTTPS, PostgreSQL, copias de seguridad y pruebas de autorización más amplias.

Auth0 Logo