Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
26 KiB
SA-BACKEND-001: Análisis de Módulos Faltantes en Migración
Fecha: 2025-11-02
Analista: SA-BACKEND-001
Proyecto Origen: /home/isem/workspace/workspace-gamilit/projects/gamilit-platform-backend
Proyecto Destino: /home/isem/workspace/workspace-gamilit/gamilit/projects/gamilit/apps/backend
Resumen Ejecutivo
Se identificaron 4 módulos principales del proyecto origen que no fueron migrados directamente al destino:
admin/(26 archivos)health/(1 archivo)notifications/(10 archivos)teacher/(23 archivos)
Total: 60 archivos no migrados directamente
Parte de la funcionalidad fue redistribuida en los nuevos módulos del destino, pero existe código crítico que NO fue migrado.
Tabla Resumen de Módulos Faltantes
| Módulo | Archivos | Endpoints | Funcionalidad Principal | Estado en Destino |
|---|---|---|---|---|
| admin/ | 26 | ~25+ | Gestión administrativa del sistema | ❌ NO MIGRADO |
| health/ | 1 | 4 | Health checks y monitoreo | ⚠️ PARCIALMENTE (core/health vacío) |
| notifications/ | 10 | 6 | Sistema de notificaciones en tiempo real | ⚠️ PARCIALMENTE (gamification) |
| teacher/ | 23 | 28 | Portal del profesor (classrooms, assignments) | ✅ MIGRADO PARCIALMENTE (social/classrooms) |
1. MÓDULO ADMIN (❌ NO MIGRADO)
1.1 Descripción General
El módulo admin es un panel de administración completo para super admins y admin teachers, con capacidades de gestión de usuarios, organizaciones, contenido y sistema.
1.2 Arquitectura del Módulo
Archivos principales (26 archivos):
admin/
├── admin.routes.ts (Router principal)
├── admin.service.ts (Servicios generales)
├── admin.repository.ts
├── admin.middleware.ts (requireSuperAdmin, requireAdmin, auditAdminAction, adminRateLimit)
├── admin.types.ts
├── admin.validation.ts
├── audit.service.ts (Sistema de auditoría)
├── health.service.ts
├── content.controller.ts
├── content.service.ts
├── content.repository.ts
├── content.routes.ts
├── users.controller.ts
├── users.service.ts
├── users.repository.ts
├── users.routes.ts
├── users.validation.ts
├── organizations.controller.ts
├── organizations.service.ts
├── organizations.repository.ts
├── organizations.routes.ts
├── organizations.validation.ts
├── system.controller.ts
├── system.service.ts
├── system.repository.ts
└── system.routes.ts
1.3 Endpoints Expuestos
1.3.1 Admin Root (/api/admin)
- GET
/api/admin- Dashboard info y lista de endpoints
1.3.2 User Management (/api/admin/users)
- GET
/api/admin/users- Listar usuarios (paginado) - GET
/api/admin/users/:id- Detalles de usuario - PATCH
/api/admin/users/:id- Actualizar usuario - DELETE
/api/admin/users/:id- Eliminar/banear usuario - POST
/api/admin/users/:id/suspend- Suspender usuario - POST
/api/admin/users/:id/unsuspend- Reactivar usuario - POST
/api/admin/users/:id/activate- Activar usuario - POST
/api/admin/users/:id/deactivate- Desactivar usuario - POST
/api/admin/users/:id/reset-password- Forzar reset de contraseña - GET
/api/admin/users/:id/activity- Log de actividad del usuario
1.3.3 Organization Management (/api/admin/organizations)
- GET
/api/admin/organizations- Listar organizaciones - GET
/api/admin/organizations/:id- Detalles de organización - POST
/api/admin/organizations- Crear organización - PUT
/api/admin/organizations/:id- Actualizar organización - DELETE
/api/admin/organizations/:id- Eliminar organización (soft delete) - GET
/api/admin/organizations/:id/users- Usuarios de la organización - PATCH
/api/admin/organizations/:id/subscription- Actualizar suscripción - PATCH
/api/admin/organizations/:id/features- Toggle feature flags
1.3.4 Content Management (/api/admin/content)
- GET
/api/admin/content/exercises/pending- Ejercicios pendientes de aprobación - POST
/api/admin/content/exercises/:id/approve- Aprobar ejercicio - POST
/api/admin/content/exercises/:id/reject- Rechazar ejercicio - GET
/api/admin/content/media- Biblioteca de medios - DELETE
/api/admin/content/media/:id- Eliminar archivo de medios - POST
/api/admin/content/version- Crear versión de contenido
1.3.5 System Management (/api/admin/system)
- GET
/api/admin/system/health- Métricas de salud del sistema - GET
/api/admin/system/users- Obtener todos los usuarios - PATCH
/api/admin/system/users/:id/role- Actualizar rol de usuario - PATCH
/api/admin/system/users/:id/status- Actualizar estado de usuario - GET
/api/admin/system/logs- Logs del sistema - POST
/api/admin/system/maintenance- Toggle modo mantenimiento - GET
/api/admin/system/statistics- Estadísticas del sistema
1.4 Servicios Clave
1.4.1 AdminService
- getDashboardStats(adminId): DashboardStats
- getUserAnalytics(adminId): UserAnalytics
- getOrganizationAnalytics(adminId): OrganizationAnalytics
- getSystemStatistics(adminId): SystemStatistics
- getAdminActionsLog(adminId, filters): AuditLog
- validateAdminPermissions(adminId, role): boolean
- canAdminModifyUser(adminId, targetUserId, action): boolean
- logAdminAction(data): void
1.4.2 AuditService
- logEvent(eventData): void
1.4.3 Admin Middleware
- requireSuperAdmin: Middleware (solo super_admin)
- requireAdmin: Middleware (super_admin o admin_teacher)
- auditAdminAction: Middleware (logging automático)
- adminRateLimit: Middleware (5 req/min por admin)
1.5 Estado en Destino
❌ COMPLETAMENTE NO MIGRADO
- No existe módulo
admin/en destino - No existe gestión de organizaciones (solo
schoolsensocial/) - No existe panel de administración
- No existe sistema de auditoría
- No existe gestión de usuarios desde admin
- No existe aprobación de contenido
- No existe gestión de suscripciones
1.6 Impacto de la Falta de Migración
CRÍTICO:
- Sin panel de administración - No hay forma de gestionar usuarios, organizaciones o contenido desde el backend
- Sin auditoría - No hay trazabilidad de acciones administrativas
- Sin aprobación de contenido - Ejercicios creados por usuarios no pueden ser moderados
- Sin gestión de permisos avanzada - No hay distinción entre super_admin y admin_teacher
- Sin gestión de organizaciones - Falta el concepto de multi-tenancy completo
2. MÓDULO HEALTH (⚠️ PARCIALMENTE MIGRADO)
2.1 Descripción General
Endpoints de health check para monitoreo de servicios (database, websockets, system).
2.2 Archivos
health/
└── health.routes.ts
2.3 Endpoints Expuestos
- GET
/api/health- Health check básico (status, uptime, environment, version) - GET
/api/health/db- Health check de base de datos con pool stats - GET
/api/health/detailed- Health check detallado (system, memory, database) - GET
/api/health/websocket- Health check de WebSocket server
2.4 Funcionalidad Proporcionada
// Basic Health
{
status: 'healthy',
timestamp: ISO8601,
uptime: seconds,
environment: string,
version: string
}
// Database Health
{
status: 'connected',
responseTime: '10ms',
serverTime: timestamp,
version: 'PostgreSQL 14.x',
pool: {
total: 10,
idle: 5,
active: 5,
waiting: 0,
usage: '50%'
},
warnings?: string[]
}
// WebSocket Health
{
status: 'initialized',
connectedSockets: 25,
onlineUsers: 20,
totalConnections: 25,
averageConnectionsPerUser: '1.25'
}
2.5 Estado en Destino
⚠️ PARCIALMENTE PREPARADO
En el destino existe el directorio /modules/core/health/ pero está VACÍO.
ls -la /modules/core/health/
# Directorio vacío, sin archivos
Recomendación:
- Migrar
health.routes.tsa/modules/core/health/health.controller.ts - Adaptar a NestJS con
@nestjs/terminuspara health checks - Agregar health checks de TypeORM
3. MÓDULO NOTIFICATIONS (⚠️ PARCIALMENTE MIGRADO)
3.1 Descripción General
Sistema completo de notificaciones en tiempo real con WebSocket, persistencia en BD, y gestión de lectura/eliminación.
3.2 Archivos (10 archivos)
notifications/
├── notifications.routes.ts
├── notifications.controller.ts
├── notifications.service.ts
├── notifications.repository.ts
├── notifications.types.ts
├── notifications.validation.ts
├── notifications.helper.ts
├── notifications.cron.ts
├── example.usage.ts
└── services/
└── realtime.service.ts
3.3 Endpoints Expuestos
- GET
/api/notifications- Obtener notificaciones paginadas con filtros - GET
/api/notifications/unread-count- Contador de notificaciones no leídas - POST
/api/notifications/read-all- Marcar todas como leídas - DELETE
/api/notifications/clear-all- Eliminar todas las notificaciones - POST
/api/notifications/send- Enviar notificación (Admin only) - PATCH
/api/notifications/:id/read- Marcar como leída - DELETE
/api/notifications/:id- Eliminar notificación
3.4 Servicios Principales
3.4.1 NotificationsService
- getUserNotifications(userId, params): PaginatedNotifications
- markAsRead(notificationId, userId): Notification
- markAllAsRead(userId): void
- deleteNotification(notificationId, userId): void
- clearAllNotifications(userId): void
- sendNotification(dto): Notification
- getUnreadCount(userId): number
3.4.2 RealtimeService (WebSocket)
- sendNotificationToUser(userId, notification): void
- broadcastNotification(notification): void
- getPresenceStats(): { onlineUsers, totalConnections }
3.5 Tipos de Notificaciones
enum NotificationType {
ACHIEVEMENT_UNLOCKED = 'achievement_unlocked',
RANK_UP = 'rank_up',
FRIEND_REQUEST = 'friend_request',
GUILD_INVITATION = 'guild_invitation',
MISSION_COMPLETED = 'mission_completed',
LEVEL_UP = 'level_up',
MESSAGE_RECEIVED = 'message_received',
SYSTEM_ANNOUNCEMENT = 'system_announcement',
ML_COINS_EARNED = 'ml_coins_earned',
STREAK_MILESTONE = 'streak_milestone',
EXERCISE_FEEDBACK = 'exercise_feedback',
}
3.6 Estado en Destino
⚠️ PARCIALMENTE MIGRADO (Solo Entidades)
Encontrado en destino:
/modules/gamification/
├── entities/notification.entity.ts
├── dto/notifications/create-notification.dto.ts
├── dto/notifications/notification-response.dto.ts
└── dto/notifications/mark-read.dto.ts
NO encontrado:
- ❌ Controller de notificaciones
- ❌ Service de notificaciones
- ❌ Endpoints REST
- ❌ RealtimeService (WebSocket)
- ❌ Sistema de push notifications
- ❌ Cron jobs para limpieza
3.7 Impacto de la Falta de Migración
ALTO IMPACTO:
- Sin notificaciones en tiempo real - Los usuarios no reciben actualizaciones instantáneas
- Sin gestión de notificaciones - No hay endpoints para leer/eliminar notificaciones
- Sin contador de no leídas - Falta indicador visual de notificaciones pendientes
- Sin notificaciones administrativas - Admins no pueden enviar anuncios
4. MÓDULO TEACHER (✅ MIGRADO PARCIALMENTE)
4.1 Descripción General
Portal completo para profesores: gestión de aulas, asignaciones, calificación de tareas, seguimiento de progreso estudiantil y analytics.
4.2 Archivos (23 archivos)
teacher/
├── index.ts (Router principal)
├── teacher.types.ts
├── teacher.middleware.ts
├── classroom.controller.ts
├── classroom.service.ts
├── classroom.repository.ts
├── classroom.routes.ts
├── classroom.validation.ts
├── assignments.controller.ts
├── assignments.service.ts
├── assignments.repository.ts
├── assignments.routes.ts
├── assignments.validation.ts
├── grading.controller.ts
├── grading.service.ts
├── grading.routes.ts
├── analytics.controller.ts
├── analytics.service.ts
├── analytics.repository.ts
├── analytics.routes.ts
├── student-progress.controller.ts
├── student-progress.service.ts
├── student-progress.routes.ts
└── notifications.helper.ts
4.3 Sub-módulos
4.3.1 Classrooms (7 endpoints)
- POST
/api/teacher/classrooms- Crear aula - GET
/api/teacher/classrooms- Listar aulas del profesor - GET
/api/teacher/classrooms/:id- Detalles de aula - PUT
/api/teacher/classrooms/:id- Actualizar aula - DELETE
/api/teacher/classrooms/:id- Eliminar aula - GET
/api/teacher/classrooms/:id/students- Estudiantes del aula - POST
/api/teacher/classrooms/:id/students- Agregar estudiantes (bulk) - DELETE
/api/teacher/classrooms/:classId/students/:studentId- Remover estudiante
4.3.2 Assignments (8 endpoints)
- POST
/api/teacher/assignments- Crear asignación - GET
/api/teacher/assignments- Listar asignaciones del profesor - GET
/api/teacher/assignments/:id- Detalles de asignación - PUT
/api/teacher/assignments/:id- Actualizar asignación - DELETE
/api/teacher/assignments/:id- Eliminar asignación - POST
/api/teacher/assignments/:id/assign- Asignar a aulas/estudiantes - GET
/api/teacher/assignments/:id/submissions- Submissions de la asignación - POST
/api/teacher/assignments/:assignmentId/submissions/:submissionId/grade- Calificar submission
4.3.3 Grading (4 endpoints)
- GET
/api/teacher/submissions/pending- Submissions pendientes - GET
/api/teacher/submissions/:id- Detalles de submission - POST
/api/teacher/submissions/:id/grade- Calificar submission - POST
/api/teacher/submissions/:id/feedback- Agregar feedback
4.3.4 Student Progress (4 endpoints)
- GET
/api/teacher/students/:id/progress- Overview de progreso - GET
/api/teacher/students/:id/analytics- Analytics detallados - GET
/api/teacher/students/:id/notes- Notas del profesor - POST
/api/teacher/students/:id/note- Agregar nota
4.3.5 Analytics (5 endpoints)
- GET
/api/teacher/analytics/classroom/:id- Analytics del aula - GET
/api/teacher/analytics/student/:id- Performance del estudiante - GET
/api/teacher/analytics/assignment/:id- Analytics de asignación - GET
/api/teacher/analytics/engagement- Métricas de engagement - GET
/api/teacher/analytics/reports- Generar reporte
4.4 Middleware Específico
- requireTeacherRole: Middleware (teacher o admin_teacher)
- verifyClassroomOwnership(pool): Middleware (verificar propiedad)
- verifyAssignmentOwnership(pool): Middleware
- verifyStudentAccess(pool): Middleware
4.5 Estado en Destino
✅ MIGRADO PARCIALMENTE (Solo Classrooms)
Encontrado en destino:
/modules/social/
├── controllers/classrooms.controller.ts
├── controllers/classroom-members.controller.ts
├── services/classrooms.service.ts
├── services/classroom-members.service.ts
├── entities/classroom.entity.ts
└── entities/classroom-member.entity.ts
Encontrado en destino:
- ✅ Classrooms migrados a
social/classrooms(CRUD básico) - ✅ ClassroomMembers migrados a
social/classroom-members
NO encontrado (Faltante CRÍTICO):
- ❌ Assignments (módulo completo de tareas/asignaciones)
- ❌ Grading (sistema de calificación)
- ❌ Student Progress (seguimiento de progreso)
- ❌ Teacher Analytics (analytics para profesores)
- ❌ Teacher Middleware (autorización específica)
- ❌ Notifications Helper (notificaciones para profesores)
4.6 Comparación: Classrooms Origen vs Destino
| Funcionalidad | Origen (teacher/classroom) | Destino (social/classrooms) |
|---|---|---|
| Crear aula | ✅ | ✅ |
| Listar aulas | ✅ | ✅ |
| Filtrar por profesor | ✅ | ✅ (teacherId query param) |
| Agregar estudiantes | ✅ | ✅ |
| Remover estudiantes | ✅ | ✅ |
| Verificar propiedad (middleware) | ✅ | ❓ (verificar) |
| Gestionar asignaciones | ✅ | ❌ |
| Ver progreso de estudiantes | ✅ | ❌ |
4.7 Impacto de la Falta de Migración
CRÍTICO:
- Sin sistema de asignaciones - Profesores no pueden crear tareas
- Sin calificación de ejercicios - No hay flujo de grading
- Sin seguimiento de progreso - Profesores no pueden monitorear estudiantes
- Sin analytics para profesores - Falta data para toma de decisiones
- Sin notas del profesor - No hay registro de observaciones
5. Análisis de Mapeo de Funcionalidad
5.1 Funcionalidad Migrada con Éxito
| Funcionalidad Origen | Módulo Destino | Estado |
|---|---|---|
| Auth (login, register, JWT) | auth/ |
✅ MIGRADO |
| Gamification (achievements) | gamification/ |
✅ MIGRADO |
| Progress tracking | progress/ |
✅ MIGRADO |
| Social (friends, guilds) | social/ |
✅ MIGRADO |
| Educational (exercises) | educational/ |
✅ MIGRADO |
| Content templates | content/ |
✅ MIGRADO |
| Classrooms CRUD | social/classrooms |
✅ MIGRADO |
5.2 Funcionalidad Parcialmente Migrada
| Funcionalidad Origen | Migrado en Destino | Faltante |
|---|---|---|
| Notifications | Entities + DTOs | Controller, Service, WebSocket |
| Health Checks | Directorio vacío | Todo el código |
| Teacher Portal | Classrooms | Assignments, Grading, Analytics |
5.3 Funcionalidad NO Migrada (CRÍTICA)
| Funcionalidad | Impacto |
|---|---|
| Admin Panel | 🔴 CRÍTICO - Sin gestión del sistema |
| Audit System | 🔴 CRÍTICO - Sin trazabilidad |
| Content Approval | 🔴 CRÍTICO - Sin moderación |
| Organization Management | 🔴 CRÍTICO - Sin multi-tenancy |
| Teacher Assignments | 🔴 CRÍTICO - Sin tareas |
| Grading System | 🔴 CRÍTICO - Sin calificaciones |
| Teacher Analytics | 🟡 ALTO - Sin métricas |
| Notification System | 🟡 ALTO - Sin notificaciones en tiempo real |
6. Código Definitivamente NO Migrado
6.1 Administración (admin/)
26 archivos completos:
- Todo el módulo
admin/(usuarios, organizaciones, contenido, sistema) - Sistema de auditoría completo (
audit.service.ts) - Middleware de admin (
requireSuperAdmin,requireAdmin,auditAdminAction,adminRateLimit) - Aprobación de contenido (
content.controller.ts) - Gestión de suscripciones (
organizations.service.ts) - Health service para admin (
health.service.ts)
Impacto: Sin este módulo, el sistema NO tiene panel de administración.
6.2 Asignaciones y Calificación (teacher/)
Faltantes críticos:
assignments.controller.tsassignments.service.tsassignments.repository.tsassignments.routes.tsassignments.validation.tsgrading.controller.tsgrading.service.tsgrading.routes.ts
Impacto: Profesores NO pueden crear tareas ni calificar estudiantes.
6.3 Analytics del Profesor (teacher/)
Faltantes:
analytics.controller.tsanalytics.service.tsanalytics.repository.tsanalytics.routes.tsstudent-progress.controller.tsstudent-progress.service.tsstudent-progress.routes.ts
Impacto: Profesores NO tienen visibilidad del desempeño estudiantil.
6.4 Sistema de Notificaciones (notifications/)
Faltantes:
notifications.controller.tsnotifications.service.tsnotifications.repository.tsnotifications.routes.tsservices/realtime.service.ts(WebSocket)notifications.cron.ts
Impacto: NO hay notificaciones en tiempo real, usuarios no reciben alertas.
6.5 Health Checks (health/)
Faltante:
health.routes.ts(completo)
Impacto: NO hay endpoints de monitoreo, dificulta DevOps y troubleshooting.
7. Recomendaciones de Migración
7.1 Prioridad CRÍTICA (P0)
-
Migrar módulo
admin/- Crear
/modules/admin/en NestJS - Implementar RBAC con guards (
SuperAdminGuard,AdminGuard) - Migrar gestión de usuarios, organizaciones y contenido
- Implementar sistema de auditoría
- Crear
-
Migrar sistema de Assignments y Grading
- Crear
/modules/teacher/en NestJS - Implementar CRUD de asignaciones
- Implementar sistema de calificación
- Conectar con
progress/exercise-submission
- Crear
-
Completar sistema de Notifications
- Crear
/modules/notifications/en NestJS - Implementar controller y service
- Integrar WebSocket con
@nestjs/websockets - Implementar push notifications en tiempo real
- Crear
7.2 Prioridad ALTA (P1)
-
Migrar Teacher Analytics
- Crear
/modules/teacher/analytics/ - Implementar métricas de classroom, student y assignment
- Integrar con
progress/ygamification/
- Crear
-
Migrar Health Checks
- Completar
/modules/core/health/ - Usar
@nestjs/terminus - Implementar health checks de DB, Redis, WebSocket
- Completar
7.3 Prioridad MEDIA (P2)
- Migrar Student Progress Tracking
- Crear
/modules/teacher/student-progress/ - Implementar notas del profesor
- Integrar con analytics
- Crear
7.4 Estrategia de Migración Sugerida
FASE 1 (Sprint 1-2):
├── Admin Panel (users, organizations)
├── Audit System
└── Health Checks
FASE 2 (Sprint 3-4):
├── Assignments CRUD
├── Grading System
└── Teacher Analytics (básico)
FASE 3 (Sprint 5-6):
├── Notifications (REST + WebSocket)
├── Student Progress
└── Teacher Analytics (completo)
8. Matriz de Trazabilidad
| # | Módulo Origen | Funcionalidad | Migrado a Destino | Estado | Prioridad |
|---|---|---|---|---|---|
| 1 | admin/users | Gestión usuarios | ❌ | NO MIGRADO | P0 |
| 2 | admin/organizations | Gestión organizaciones | ❌ | NO MIGRADO | P0 |
| 3 | admin/content | Aprobación contenido | ❌ | NO MIGRADO | P0 |
| 4 | admin/system | System admin | ❌ | NO MIGRADO | P0 |
| 5 | admin/audit | Sistema auditoría | ❌ | NO MIGRADO | P0 |
| 6 | teacher/assignments | Asignaciones | ❌ | NO MIGRADO | P0 |
| 7 | teacher/grading | Calificación | ❌ | NO MIGRADO | P0 |
| 8 | teacher/classrooms | Aulas | ✅ social/classrooms | MIGRADO | - |
| 9 | teacher/analytics | Analytics profesor | ❌ | NO MIGRADO | P1 |
| 10 | teacher/student-progress | Progreso estudiantes | ❌ | NO MIGRADO | P1 |
| 11 | notifications/ | Notificaciones | ⚠️ gamification/ | PARCIAL | P0 |
| 12 | health/ | Health checks | ⚠️ core/health/ | PARCIAL | P1 |
Leyenda:
- ✅ MIGRADO
- ⚠️ PARCIAL
- ❌ NO MIGRADO
9. Conclusiones
9.1 Resumen de Hallazgos
- 60 archivos no migrados de 4 módulos principales
- 28 endpoints críticos faltantes (admin + teacher)
- Funcionalidad bloqueante: Sin admin panel, sin asignaciones, sin calificación
- Riesgo arquitectónico: Falta multi-tenancy completo (organizaciones)
9.2 Impacto en el Negocio
CRÍTICO:
- El sistema NO es administrable sin el módulo admin
- Los profesores NO pueden asignar tareas ni calificar
- NO hay auditoría de acciones administrativas
- NO hay notificaciones en tiempo real
RECOMENDACIÓN FINAL: NO desplegar a producción hasta migrar módulos P0 (admin, assignments, notifications).
10. Anexos
10.1 Lista Completa de Archivos NO Migrados
admin/ (26 archivos)
admin.routes.ts
admin.service.ts
admin.repository.ts
admin.middleware.ts
admin.types.ts
admin.validation.ts
audit.service.ts
health.service.ts
content.controller.ts
content.service.ts
content.repository.ts
content.routes.ts
users.controller.ts
users.service.ts
users.repository.ts
users.routes.ts
users.validation.ts
organizations.controller.ts
organizations.service.ts
organizations.repository.ts
organizations.routes.ts
organizations.validation.ts
system.controller.ts
system.service.ts
system.repository.ts
system.routes.ts
health/ (1 archivo)
health.routes.ts
notifications/ (10 archivos)
notifications.routes.ts
notifications.controller.ts
notifications.service.ts
notifications.repository.ts
notifications.types.ts
notifications.validation.ts
notifications.helper.ts
notifications.cron.ts
example.usage.ts
services/realtime.service.ts
teacher/ (15 archivos NO migrados)
assignments.controller.ts
assignments.service.ts
assignments.repository.ts
assignments.routes.ts
assignments.validation.ts
grading.controller.ts
grading.service.ts
grading.routes.ts
analytics.controller.ts
analytics.service.ts
analytics.repository.ts
analytics.routes.ts
student-progress.controller.ts
student-progress.service.ts
student-progress.routes.ts
Total: 52 archivos NO migrados (de 60 archivos identificados, 8 fueron migrados parcialmente)
Fin del Reporte SA-BACKEND-001