← Volver a Documentación

Carpeta TFI

CEMI Sistema Gestor

Centro Municipal de Idiomas

Gómez Micaela • Lucena Carlos • Ruiz Mendoza Eduardo • Sergio Bautista Bareiro
Versión 1.0 - Mayo 2026

UTN Facultad Regional Tucumán - Tecnicatura Superior en Programación

Logo CEMI Logo UTN

1. Carátula y datos del proyecto

CampoDetalle
Título del sistemaCEMI Sistema Gestor
Entidad destinatariaCEMI - Centro Municipal de Idiomas
Institución académicaUTN Facultad Regional Tucumán
CarreraTecnicatura Superior en Programación
Tutor académicoIng. Prado
Autores / integrantesGómez Micaela, Lucena Carlos, Ruiz Mendoza Eduardo y Sergio Bautista Bareiro
Fecha de presentaciónMayo 2026
RepositorioCEMIPlatform
Producciónhttps://cemi.up.railway.app
DocumentoCarpeta del Trabajo Final Integrador

2. Índice documental

La carpeta se organiza siguiendo el orden del documento modelo: resumen ejecutivo, introducción, estado del arte, descripción del proyecto, metodología, recursos, plan de trabajo, resultados, referencias y anexo. La diferencia principal es que cada apartado fue ajustado al dominio real de CEMI, evitando funciones comerciales que no forman parte del sistema.

SecciónContenido
Resumen ejecutivoDescripción, objetivos, metodología, resultados y conclusiones generales.
IntroducciónContexto, justificación, objetivo general y objetivos específicos.
Estado del arteSistemas actuales, enfoques tecnológicos, normalización, seguridad y aporte del proyecto.
Descripción del proyectoProblemática, solución, alcance, análisis, diagramas, historias, reglas, requisitos y restricciones.
MetodologíaSCRUM, herramientas, arquitectura, base de datos, pruebas, integración e implantación.
Recursos y planRoles, recursos, sprints, calendarización, Gantt, etapas y entregables.
CierreResultados esperados, impacto académico, institucional, referencias y anexos.

3. Resumen ejecutivo

3.1 Breve descripción del proyecto

El presente Trabajo Final Integrador consiste en el diseño, desarrollo, documentación y despliegue de CEMI Sistema Gestor, una aplicación web destinada al Centro Municipal de Idiomas. La solución centraliza procesos académicos, administrativos, financieros y comunicacionales en una arquitectura cliente-servidor con persistencia real.

El sistema permite gestionar alumnos, profesores, administradores, cursos, idiomas, niveles, aulas, inscripciones, pagos, calificaciones, asistencias, tareas, entregas, anuncios, encuestas, recursos, calendario, chat, notificaciones y documentación. También incorpora páginas públicas, perfiles diferenciados, autenticación, recuperación de contraseña y mecanismos de privacidad.

3.2 Objetivos principales

El objetivo general del proyecto es desarrollar un sistema informático que permita digitalizar la gestión integral del Centro Municipal de Idiomas, reduciendo registros dispersos y mejorando la trazabilidad de operaciones académicas y administrativas.

3.3 Metodología utilizada

El proyecto fue desarrollado con una metodología ágil basada en sprints, integrando relevamiento, diseño, desarrollo, pruebas, documentación y despliegue. Cada sprint permitió cerrar un conjunto de funcionalidades y validar su integración con el resto del sistema.

3.4 Resultados esperados

3.5 Conclusiones generales

CEMI Sistema Gestor demuestra la capacidad de diseñar e implementar una solución web completa, con base de datos, backend, frontend, seguridad, documentación y despliegue. El proyecto integra conocimientos adquiridos durante la carrera y los aplica sobre una problemática institucional real: la necesidad de centralizar la gestión académica y administrativa del Centro Municipal de Idiomas.

4. Introducción

4.1 Contexto y antecedentes

La digitalización de instituciones educativas se volvió una necesidad central para mejorar la organización interna y la calidad de atención. En un centro de idiomas conviven datos personales, inscripciones, cursos, horarios, profesores, pagos, calificaciones, asistencias y comunicaciones. Cuando estos procesos se gestionan de manera fragmentada, se incrementa el riesgo de errores, duplicación de información y demoras en la consulta de datos.

CEMI requiere una herramienta propia que permita operar de forma ordenada, con usuarios diferenciados y trazabilidad. A diferencia de plataformas genéricas, el sistema propuesto responde al funcionamiento específico de un Centro Municipal de Idiomas y a los módulos desarrollados dentro del proyecto.

4.2 Justificación

La implementación de CEMI Sistema Gestor responde a la necesidad de centralizar información académica, administrativa y financiera en una única plataforma web. Desde la perspectiva académica, el proyecto permite aplicar programación estructurada, diseño de base de datos, arquitectura cliente-servidor, seguridad web, metodología ágil, pruebas e integración continua.

4.3 Objetivo general

Implementar un sistema web integral para el Centro Municipal de Idiomas, destinado a digitalizar, centralizar y optimizar procesos académicos, administrativos, financieros y comunicacionales, garantizando trazabilidad, seguridad, disponibilidad y facilidad de uso.

4.4 Objetivos específicos

5. Estado del arte

5.1 Contexto tecnológico actual

En la actualidad existen múltiples soluciones para gestión educativa y comunicación académica. Plataformas como aulas virtuales, sistemas administrativos SaaS y hojas de cálculo compartidas cubren partes del proceso, pero suelen requerir configuración compleja, pagos recurrentes o integraciones externas. Para una institución municipal, una solución web propia permite mayor control del flujo de información y una adaptación más directa al funcionamiento local.

5.2 Sistemas existentes y comparativa

Tipo de sistemaFortalezasLimitaciones frente a CEMI
Aulas virtuales genéricasTareas, recursos y comunicación académica.No cubren por completo pagos, inscripciones, usuarios institucionales y reportes propios.
Sistemas administrativos SaaSAcceso web y mantenimiento externo.Costos recurrentes, menor control del código y adaptación limitada.
Planillas y registros manualesBajo costo inicial y familiaridad.Duplicidad de datos, baja trazabilidad, errores de carga y dificultad para auditar cambios.
Sistema web modular propioControl del código, datos centralizados, módulos a medida y despliegue propio.Requiere desarrollo, pruebas, mantenimiento y capacitación inicial.

5.3 Enfoques tecnológicos actuales

SaaS educativo

Permite acceso remoto y actualizaciones externas, pero puede limitar personalización y generar dependencia del proveedor.

Escritorio local

Funciona en una PC específica, aunque dificulta el acceso distribuido y el trabajo entre perfiles.

Aplicación web modular

Separa frontend, backend y base de datos. Favorece escalabilidad, mantenimiento y acceso desde navegadores modernos.

5.4 Modelado de datos y normalización

La base de datos relacional continúa siendo adecuada para sistemas con reglas claras de integridad. CEMI requiere relacionar personas, usuarios, perfiles, alumnos, profesores, cursos, inscripciones, pagos, asistencias, calificaciones, tareas y chats. La normalización reduce redundancia, evita inconsistencias y permite consultas confiables para reportes institucionales.

5.5 Seguridad y control de acceso en aplicaciones web

El sistema utiliza autenticación mediante JSON Web Token, contraseñas cifradas y middleware de verificación para proteger rutas privadas. La separación por perfiles evita que alumnos o profesores accedan a funciones administrativas. También se contemplan recuperación de contraseña, variables de entorno protegidas, cabeceras de seguridad y validación de datos.

5.6 Fundamentación del aporte del proyecto

5.7 Conclusión del estado del arte

El análisis demuestra que existen soluciones parciales para administración educativa, comunicación y aula virtual, pero CEMI requiere una herramienta integrada y adaptada a su realidad. El proyecto aporta una solución académica, funcional y documentada que combina conocimientos de desarrollo web, modelado de datos, seguridad, experiencia de usuario y despliegue.

6. Descripción del proyecto

6.1 Problemática detectada

La problemática principal es la dispersión de información institucional. Sin un sistema unificado, la administración debe consultar distintos registros para conocer alumnos activos, cursos, pagos, profesores, horarios, calificaciones y comunicaciones. Esto impacta en la calidad de atención, aumenta la carga manual y reduce la capacidad de seguimiento.

6.2 Solución propuesta

La solución propuesta es CEMI Sistema Gestor, una aplicación web modular con persistencia en MySQL, backend Express, frontend HTML/CSS/JavaScript y comunicación en tiempo real mediante Socket.IO. La plataforma organiza sus funciones por rol y por dominio: administración, alumnos, profesores, cursos, pagos, classroom, chat, comunidad, seguridad y documentación.

6.3 Alcance del proyecto

IncluyeNo incluye en esta versión
Registro y administración de alumnos, profesores, administradores y usuarios.Facturación fiscal externa automatizada.
Cursos, idiomas, niveles, aulas, horarios, cupos e inscripciones.Aplicación móvil nativa independiente.
Pagos, conceptos, cuotas, estados y comprobantes PDF.Firma digital oficial de certificados.
Classroom, tareas, entregas, anuncios, recursos, encuestas y calendario.Conciliación bancaria automática con entidades externas.
Chat, notificaciones, comunidad, privacidad, seguridad y documentación.Integración con sistemas provinciales o nacionales de educación.

6.4 Análisis del mercado

El mercado ofrece herramientas educativas y administrativas, pero muchas se orientan a instituciones grandes, requieren suscripción o no se ajustan al funcionamiento específico de un Centro Municipal de Idiomas. CEMI Sistema Gestor se plantea como una alternativa propia, accesible y extensible, con módulos desarrollados según el relevamiento del proyecto y con documentación técnica para sostener su mantenimiento.

6.5 Diagrama entidad-relación detallado

El modelo lógico se organiza alrededor de PERSONA y USUARIO. Desde esa base se especializan alumnos, profesores y administradores. CURSO articula idioma, nivel, aula, profesor, inscripciones, pagos, asistencias, calificaciones y classroom. CHAT y NOTIFICACION completan la trazabilidad comunicacional.

PERSONA

  • id_persona PK
  • nombre
  • apellido
  • mail
  • dni

USUARIO

  • id_usuario PK
  • id_persona FK
  • id_perfil FK
  • password_hash
  • estado

PERFIL

  • id_perfil PK
  • nombre_perfil
  • permisos

ALUMNO

  • id_alumno PK
  • id_persona FK
  • legajo
  • estado

PROFESOR

  • id_profesor PK
  • id_persona FK
  • especialidad
  • estado

CURSO

  • id_curso PK
  • id_idioma FK
  • id_nivel FK
  • id_profesor FK
  • cupo_maximo

INSCRIPCION

  • id_inscripcion PK
  • id_alumno FK
  • id_curso FK
  • estado

PAGO

  • id_pago PK
  • id_alumno FK
  • id_curso FK
  • monto
  • estado_pago

CALIFICACION

  • id_calificacion PK
  • id_alumno FK
  • id_curso FK
  • parcial1
  • final

ASISTENCIA

  • id_asistencia PK
  • id_curso FK
  • id_alumno FK
  • fecha
  • estado

TAREA / ENTREGA

  • id_tarea PK
  • id_curso FK
  • id_profesor FK
  • fecha_limite
  • id_entrega

CHAT

  • id_conversacion PK
  • id_usuario FK
  • estado
  • mensaje
PERSONA 1:1 USUARIO

Una persona puede tener credenciales de acceso y un perfil asignado.

ALUMNO N:M CURSO

La relación se resuelve mediante INSCRIPCION.

CURSO 1:N PAGO

Los pagos se asocian al alumno, curso, concepto y medio utilizado.

CURSO 1:N CLASSROOM

Tareas, recursos, anuncios y entregas se vinculan con cursos existentes.

6.6 Historias de usuario

HUHistoriaCriterios de aceptaciónPrioridad
HU01Como administrador, quiero registrar alumnos para mantener actualizado el padrón institucional.Valida datos obligatorios, evita duplicados y guarda estado del alumno.Alta
HU02Como administrador, quiero registrar profesores para asignarlos a cursos.Permite especialidad, estado, usuario asociado y consulta posterior.Alta
HU03Como administrador, quiero crear cursos por idioma y nivel.Solicita profesor, aula, horario, cupo y estado del curso.Alta
HU04Como administrador, quiero inscribir alumnos en cursos activos.Verifica alumno, curso, cupo disponible y estado de inscripción.Alta
HU05Como administrador, quiero registrar pagos y generar comprobantes.Guarda monto, concepto, medio, estado y comprobante PDF.Alta
HU06Como profesor, quiero publicar tareas y recursos para mi curso.Asocia publicaciones al curso y permite entregas de alumnos.Alta
HU07Como profesor, quiero registrar calificaciones y asistencias.Persiste datos por alumno, curso y fecha.Alta
HU08Como alumno, quiero consultar cursos, pagos, tareas y calificaciones.Muestra solo información propia y protegida por sesión.Alta

6.7 Reglas de negocio

ÁreaReglas
Alumnos e inscripcionesUn alumno debe existir antes de inscribirse. Una inscripción debe asociarse a un curso activo. No debe superarse el cupo definido.
CursosTodo curso debe tener idioma, nivel, profesor, aula, horario y estado. Los cursos inactivos no deben recibir nuevas inscripciones.
PagosTodo pago debe asociarse a alumno, curso, concepto, medio de pago y estado. Los comprobantes deben conservar trazabilidad.
Usuarios y rolesUn usuario opera únicamente las funciones permitidas por su perfil. Las operaciones sensibles requieren sesión válida.
ClassroomLas tareas, anuncios, recursos y entregas deben vincularse a cursos existentes y a usuarios autorizados.
ComunicaciónLos chats y notificaciones deben conservar estado, emisor, destinatario y fecha para seguimiento institucional.

6.8 Requisitos específicos

CódigoRequisito funcionalPrioridad
RF01Registrar, modificar, consultar e inactivar alumnos.Alta
RF02Registrar, modificar y consultar profesores.Alta
RF03Gestionar cursos, idiomas, niveles, aulas, horarios y cupos.Alta
RF04Registrar inscripciones de alumnos a cursos.Alta
RF05Registrar pagos con medio, concepto, estado y comprobante.Alta
RF06Registrar calificaciones parciales y finales.Alta
RF07Registrar asistencias por curso y fecha.Alta
RF08Gestionar classroom con tareas, entregas, anuncios, encuestas y recursos.Alta
RF09Implementar chat de soporte y comunicación académica.Media
RF10Gestionar seguridad, recuperación de cuenta, privacidad y notificaciones.Media
CódigoRequisito no funcional
RNF01El sistema debe estar disponible desde navegadores modernos.
RNF02La interfaz debe ser responsive para escritorio, tablet y móvil.
RNF03La autenticación debe utilizar JWT y contraseñas cifradas.
RNF04La base de datos debe mantener integridad referencial.
RNF05Las operaciones principales deben responder en tiempos adecuados para uso administrativo.
RNF06El chat debe permitir comunicación en tiempo real.
RNF07El despliegue debe usar variables de entorno protegidas.
RNF08La documentación debe estar disponible desde el sistema.
RNF09El sistema debe contemplar seguridad y privacidad de datos personales.

6.9 Matriz de trazabilidad

Historia de usuarioRegla de negocioRequisito funcional
HU01Alumnos e inscripcionesRF01
HU02Usuarios y rolesRF02
HU03CursosRF03
HU04Alumnos e inscripcionesRF04
HU05PagosRF05
HU06ClassroomRF08
HU07ClassroomRF06 - RF07
HU08Usuarios y rolesRF05 - RF08 - RF10

6.10 Restricciones y limitaciones

6.11 Mejoras a futuro

6.12 Modelo entidad-relación físico

El modelo físico conserva claves primarias y foráneas para sostener integridad. Las entidades principales se agrupan por identidad, gestión académica, gestión financiera, classroom y comunicación.

GrupoTablas principalesRelaciones destacadas
Identidadpersonas, usuarios, perfiles, administradoresusuarios.id_persona, usuarios.id_perfil
Académicoalumnos, profesores, idiomas, niveles, aulas, cursos, inscripcionescursos.id_profesor, inscripciones.id_alumno, inscripciones.id_curso
Financieropagos, medios_pago, registros_pagospagos.id_alumno, pagos.id_curso, pagos.id_medio_pago
Seguimientocalificaciones, asistenciascalificaciones.id_alumno, asistencias.id_curso
Classroomtareas, entregas, anuncios, encuestas, recursos, eventoscontenido asociado a cursos, profesores y alumnos
Comunicaciónchats, mensajes, notificacionesmensajes asociados a conversaciones y usuarios

7. Metodología

7.1 Enfoque metodológico

Para el desarrollo del Trabajo Final Integrador se adoptó una metodología ágil basada en SCRUM, organizada en ciclos iterativos e incrementales. Este enfoque permitió dividir el proyecto en bloques funcionales, revisar avances y ajustar prioridades según el avance del sistema.

7.2 Técnicas y herramientas utilizadas

7.2.1 Modelado del sistema

7.2.2 Tecnologías implementadas

ÁreaTecnologíasUso
BackendNode.js, Express, MySQL2, JWT, bcryptjs, Socket.IOAPI REST, seguridad, persistencia y comunicación en tiempo real.
FrontendHTML5, CSS3, JavaScript, Lucide IconsPantallas públicas, dashboards, classroom, seguridad y documentación.
Base de datosMySQLPersistencia relacional, integridad y consultas.
ServiciosRailway, Cloudinary, SendGrid/NodemailerDeploy, almacenamiento de archivos y correo.
HerramientasGit, GitHub, Visual Studio Code, PostmanVersionado, desarrollo y prueba de endpoints.

7.3 Diseño del sistema y arquitectura

Frontend

HTML, CSS y JavaScript. Contiene landing, login, paneles, classroom, comunidad, seguridad, manuales y documentación.

Backend

Express organiza rutas, middlewares, validaciones, controladores y servicios por dominio funcional.

Base de datos

MySQL persiste entidades académicas, administrativas, financieras y comunicacionales.

7.4 Desarrollo e implementación

El desarrollo se realizó de manera progresiva. Primero se estableció la estructura del proyecto y la conexión con base de datos. Luego se implementaron autenticación, usuarios, alumnos, profesores, cursos e inscripciones. Posteriormente se incorporaron pagos, classroom, chat, notificaciones, seguridad y documentación.

La implementación respetó separación entre rutas de API, utilidades, middleware, recursos estáticos y archivos frontend. Esta organización facilita el mantenimiento y permite agregar nuevos módulos sin modificar todo el sistema.

7.5 Base de datos

La base MySQL fue elegida por su estabilidad, disponibilidad y compatibilidad con Node.js. Se definieron tablas con identificadores únicos, claves foráneas y campos de estado para permitir altas, consultas, modificaciones, bajas lógicas y trazabilidad.

7.6 Gestión de versiones y colaboración

Durante el desarrollo se utilizó Git para control de versiones y GitHub como repositorio remoto. Esta práctica permitió conservar historial, documentar cambios y desplegar automáticamente hacia producción. Visual Studio Code se utilizó como entorno principal de desarrollo.

7.7 Pruebas e integración

Las pruebas se orientaron a validar navegación, autenticación, rutas protegidas, persistencia de datos, formularios, comprobantes, classroom, chat, documentación y despliegue. También se verificaron sintaxis del servidor, presencia de recursos, enlaces internos y ausencia de referencias heredadas de documentos no pertinentes.

7.8 Implantación y capacitación

La implantación se realiza en Railway, con variables de entorno y base de datos configurada para producción. La capacitación propuesta se organiza por rol: administración aprende usuarios, alumnos, cursos, inscripciones, pagos y soporte; profesores aprenden classroom, calificaciones, asistencias y chat; alumnos aprenden acceso, pagos, tareas, entregas y consultas.

8. Recursos necesarios

8.1 Recursos humanos

8.2 Recursos materiales

8.3 Descripción del equipo de trabajo

IntegranteRolesResponsabilidades
Gómez MicaelaFrontend / UI Design / DocumentaciónDiseño visual, pantallas, navegación, validaciones, estructura documental y revisión de experiencia de usuario.
Lucena CarlosBackend / Base de datosRutas, controladores, lógica de negocio, consultas SQL, consistencia de datos y soporte de integración.
Ruiz Mendoza EduardoBackend / DevOps / IntegraciónConfiguración, despliegue, servicios externos, seguridad, conexión de módulos y validación en producción.
Sergio Bautista BareiroFrontend / QA Testing / DocumentaciónInterfaces, pruebas funcionales, revisión de flujos, ajustes visuales y apoyo documental.

9. Plan de trabajo

9.1 Versión descriptiva

El Trabajo Final Integrador se organizó en tres sprints principales. El primero se concentró en análisis, diseño y estructura; el segundo en módulos principales; y el tercero en integración, pruebas, documentación y despliegue.

Primer sprint: 23/09/2025 al 13/10/2025

ÁreaProcesoDescripciónTiempo
AnálisisRelevamientoEntrevistas, definición de necesidades y reglas iniciales.8 horas
Base de datosModelo inicialDiseño de entidades, relaciones y estructura MySQL.8 horas
FrontendInterfaz baseEstructura HTML/CSS, navegación inicial y pantallas públicas.7 horas
BackendServidor inicialExpress, conexión, rutas base y middleware.7 horas
SeguridadAutenticaciónLogin, JWT, perfiles y protección de rutas.6 horas

Segundo sprint: 14/10/2025 al 10/11/2025

ÁreaProcesoDescripciónTiempo
BackendGestión académicaAlumnos, profesores, cursos, aulas, idiomas e inscripciones.10 horas
FrontendPanel administrativoFormularios, listados, edición y validaciones visuales.8 horas
FinancieroPagosConceptos, estados, medios de pago y comprobantes.8 horas
ClassroomEntorno académicoTareas, entregas, anuncios, recursos, calendario y encuestas.8 horas
ComunicaciónChat y notificacionesSoporte, conversación académica y eventos del sistema.7 horas

Tercer sprint: 11/11/2025 al 20/11/2025

ÁreaProcesoDescripciónTiempo
SeguridadPrivacidad y recuperaciónPáginas de seguridad, recuperación de cuenta y protección de datos.6 horas
PruebasIntegraciónValidación de flujos, rutas, navegación y persistencia.7 horas
DocumentaciónTFIAnexo, carpeta, manual de usuario, diagramas y referencias.7 horas
DeployProducciónRailway, variables de entorno, verificación pública y correcciones finales.5 horas

Primer sprint: análisis, diseño y base técnica.

Segundo sprint: módulos principales.

Tercer sprint: pruebas, documentación y despliegue.

Total estimado: 95 horas.

9.2 Calendarización de actividades

ActividadInicioFinDuraciónResponsable
Relevamiento y análisis23/09/202526/09/20254 díasEquipo completo
Diseño de base de datos29/09/202503/10/20255 díasLucena Carlos
Interfaz y login06/10/202513/10/20258 díasGómez Micaela / Sergio Bautista Bareiro
Backend inicial14/10/202520/10/20257 díasRuiz Mendoza Eduardo / Lucena Carlos
Módulos académicos21/10/202531/10/202511 díasEquipo completo
Pagos y comprobantes03/11/202507/11/20255 díasEquipo completo
Classroom y comunicación10/11/202514/11/20255 díasEquipo completo
Pruebas, documentación y deploy17/11/202520/11/20254 díasEquipo completo

9.3 Diagrama de Gantt

Actividad23/929/96/1014/1021/103/1110/1117/11
Relevamiento y análisis
Diseño de base de datos
Interfaz y login
Backend inicial
Módulos académicos
Pagos y comprobantes
Classroom y comunicación
Pruebas, documentación y deploy

9.4 Diagrama de Gantt completo

El Gantt completo consolida las actividades de los tres sprints y permite visualizar la secuencia de avance del proyecto: análisis, diseño, desarrollo base, módulos académicos, pagos, classroom, comunicación, seguridad, pruebas, documentación y despliegue.

9.5 Etapas y entregables

EtapaActividades principalesEntregable
AnálisisRelevamiento, definición de requerimientos y reglas de negocio.Documento de requerimientos y anexo.
DiseñoModelo E/R, normalización, arquitectura y prototipos.Diagrama E/R y estructura del sistema.
BackendCRUD, autenticación, lógica de negocio y conexión MySQL.API funcional.
FrontendPantallas, formularios, validaciones e integración con API.Interfaz web completa.
PruebasTesting funcional, correcciones y validación final.Sistema estable.
DocumentaciónCarpeta TFI, anexo, manual de usuario, manual técnico y revisión.Carpeta final lista.

10. Resultados esperados

10.1 Resultados y beneficios

CEMI Sistema Gestor permitirá digitalizar procesos institucionales, reducir la dependencia de registros dispersos y mejorar la disponibilidad de información. La centralización de datos facilita consultas administrativas, seguimiento académico, emisión de comprobantes y comunicación entre perfiles.

10.2 El desarrollo del sistema permitirá obtener los siguientes resultados

10.3 Impacto académico

10.4 Impacto institucional

11. Referencias

Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., & Thomas, D. (2001). Manifesto for Agile Software Development.
Pressman, R. S., & Maxim, B. R. (2020). Software engineering: A practitioner's approach (9th ed.). McGraw-Hill Education.
Sommerville, I. (2016). Software engineering (10th ed.). Pearson Education.
Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database system concepts (7th ed.). McGraw-Hill Education.
Elmasri, R., & Navathe, S. B. (2016). Fundamentals of database systems (7th ed.). Pearson.
Fielding, R. T. (2000). Architectural styles and the design of network-based software architectures. University of California, Irvine.
Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT). IETF RFC 7519.
Node.js Foundation. (2025). Node.js documentation.
Express.js. (2025). Express web framework documentation.
Oracle. (2025). MySQL documentation.
Mozilla Developer Network. (2025). HTML, CSS and JavaScript documentation.

12. Anexo

Forman parte complementaria de esta carpeta: Anexo TFI, Manual de Usuario TFI, Manual Técnico, Diagramas UML, Plan de Pruebas, Arquitectura del Sistema, Bibliografía APA7 y Diagrama de Gantt. Estos documentos permiten auditar el proceso completo desde el relevamiento hasta el despliegue.