Skip to content

Latest commit

 

History

938 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DAEMON

DAEMON es una plataforma academica para gestionar una academia con estudiantes, docentes, actividades, recompensas e inteligencia artificial local. Su objetivo es centralizar el aprendizaje en un entorno digital donde el alumno pueda avanzar por misiones, usar un asistente IA, ganar tokens, canjear premios, rendir evaluaciones y participar en dinamicas de aula.

Que permite hacer

  • Registrar alumnos y docentes.
  • Iniciar sesion con roles separados.
  • Gestionar paneles para estudiante y docente.
  • Crear y revisar misiones con evidencias.
  • Administrar tokens, insignias, tienda y canjes.
  • Crear evaluaciones y revisar resultados.
  • Usar un chatbot educativo conectado a Ollama.
  • Trabajar con cuentos, ranking, certificados y competencia en vivo.
  • Conservar recursos interactivos para laboratorio, juegos y aprendizaje con IA.

Estado actual

  • Frontend Angular con rutas para alumno, docente y paginas publicas.
  • Backend Laravel con API REST versionada en api/v1.
  • Autenticacion con Laravel Sanctum.
  • Panel principal de alumno con resumen de tokens, misiones, insignias y canjes.
  • Panel docente con metricas de aula, economia escolar, pendientes y ranking.
  • Integracion preparada para IA local mediante Ollama.
  • Base de datos conectada a los modulos principales de la plataforma.

Tecnologias

  • Angular 21
  • Laravel 12
  • PHP 8.2+
  • PostgreSQL en Supabase o MariaDB/MySQL local
  • Laravel Sanctum
  • Ollama con gemma2:9b

Estructura del proyecto

backend-laravel/              API REST, autenticacion, modelos, servicios y pruebas
frontend-angular/             Aplicacion web Angular para alumnos y docentes
database/iaparateens_db.sql   Base inicial del proyecto
legado/                       Referencia historica del sistema anterior
scripts/iniciar.ps1           Arranque local de backend y frontend
docs/                         Documentacion del proyecto
AGENTS.md                     Guia rapida para agentes IA

Documentacion para agentes IA

Para continuar el proyecto sin gastar tokens reconstruyendo contexto, empieza por:

AGENTS.md
docs/ai-project-context.md
docs/firebase-auth.md
docs/supabase-postgres.md
docs/estado-nube-github-produccion.md

Tambien existe una skill local de Codex en:

C:\Users\MEDINA\.codex\skills\daemon-project

Se puede invocar como $daemon-project en proximas conversaciones para cargar solo el contexto necesario del sistema.

Requisitos

  • PHP 8.2 o superior con pdo_pgsql, pgsql, pdo_mysql, mbstring, openssl, intl y fileinfo
  • Composer 2
  • Node.js 22 y npm 11
  • MariaDB o MySQL
  • Ollama, solo si usaras el chatbot local

Instalacion local

Clona el repositorio:

git clone https://github.com/WILLIAMMDN/daemon.git C:\laragon\www\daemon
cd C:\laragon\www\daemon

Configura el backend:

cd backend-laravel
composer install
if (-not (Test-Path .env)) { Copy-Item .env.example .env }
php artisan key:generate

En backend-laravel/.env, revisa estos valores:

APP_NAME=DAEMON
APP_URL=http://localhost:8000
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=daemon_local
DB_USERNAME=daemon_local
DB_PASSWORD=
DB_SSLMODE=prefer
FRONTEND_URL=http://localhost:4200
FIREBASE_PROJECT_ID=demo-daemon-local

Valida el aislamiento antes de arrancar o migrar la base local:

php artisan daemon:check-environment-safety
php artisan migrate:status
php artisan migrate --pretend
php artisan migrate

El último comando solo se ejecuta contra daemon_local. Nunca uses el pooler Supabase productivo para desarrollo. Consulta docs/ENVIRONMENTS.md.

Configura el frontend:

cd ..\frontend-angular
npm ci

Ejecutar el proyecto

Inicia el backend:

cd C:\laragon\www\daemon\backend-laravel
php artisan serve --host=127.0.0.1 --port=8000

Inicia el frontend en otra terminal:

cd C:\laragon\www\daemon\frontend-angular
npm start -- --host 127.0.0.1 --port 4200

URLs locales:

  • Frontend: http://127.0.0.1:4200
  • Backend: http://127.0.0.1:8000
  • Salud API: http://127.0.0.1:8000/api/v1/salud

Tambien puedes usar:

.\scripts\iniciar.ps1

Base de datos en Supabase

DAEMON puede usar PostgreSQL en Supabase para desarrollo en la nube sin encender MySQL local todo el tiempo. La guia completa esta en:

docs/supabase-postgres.md

Resumen del flujo:

cd C:\laragon\www\daemon\backend-laravel
Copy-Item .env.supabase.example .env
php artisan key:generate
php artisan config:clear
php artisan migrate
php artisan daemon:migrar-a-supabase
php artisan daemon:migrar-a-supabase --confirm
# Alternativa si MySQL/Laragon no esta disponible:
php artisan daemon:importar-dump-supabase --confirm
php artisan daemon:organizar-storage-supabase

El bucket Storage preparado por el proyecto es daemon-assets. Para organizar archivos reales necesitas las credenciales S3 de Supabase Storage en .env y luego ejecutar php artisan daemon:organizar-storage-supabase --confirm.

IA local con Ollama

Instala el modelo usado por el chatbot:

ollama pull gemma2:9b

Variables relacionadas:

OLLAMA_URL=http://127.0.0.1:11434
OLLAMA_MODEL=gemma2:9b

Datos de prueba

  • Alumno: jose123 / [REDACTED]
  • Docente: william1013 / [REDACTED]

Modulos de DAEMON

  • Autenticacion y recuperacion de clave
  • Panel de alumno
  • Panel docente
  • Perfil y comunidad
  • Alumnos, tokens e historial
  • Insignias
  • Misiones y entregas
  • Tienda y canjes
  • Evaluaciones y resultados
  • Chatbot con Ollama
  • Laboratorio IA
  • Competencia en vivo
  • Cuentos
  • Ranking
  • Certificados
  • Carga de archivos

Comandos utiles

Pruebas backend:

cd C:\laragon\www\daemon\backend-laravel
php artisan test
php artisan route:list --path=api/v1 -v

Build frontend:

cd C:\laragon\www\daemon\frontend-angular
npm run build

Verificar estado de Git:

cd C:\laragon\www\daemon
git status --short --branch

Creditos de terceros

Notas de seguridad

  • No subas backend-laravel/.env.
  • No publiques bases de datos reales con informacion sensible de estudiantes.
  • Antes de despliegue publico, revisa credenciales, CORS, APP_DEBUG=false, claves S3, Firebase Auth y configuracion de almacenamiento.

Roadmap inmediato

  • Convertir pantallas genericas de PaginaApi en vistas finales.
  • Pulir flujos de misiones, tienda, evaluaciones, lista de alumnos, perfil y ranking.
  • Preparar configuracion de despliegue.
  • Revisar branding visual final: logo, favicon, colores y textos publicos.

About

Migracion de plataforma educativa rural a arquitectura Angular y Laravel con API REST, Sanctum y base MariaDB.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages