AssistControl

Plataforma web creada para INATEC que digitaliza y automatiza la gestión de asistencia y administración académica. Reduce tareas manuales, mejora la precisión del registro y facilita el trabajo tanto de docentes como del personal administrativo mediante flujos claros, roles definidos y herramientas diseñadas para acelerar su día a día.

Imagen del proyecto AssistControl

Kristhian Ferrufino

15/07/2023

Imagen de la actividad de un programador

Durante mis prácticas de profesionalización en el Centro Tecnológico Marcos Homero Guatemala (INATEC) asumí el desafío de desarrollar una aplicación completa para la gestión de asistencia de docentes y personal administrativo. El proyecto no solo debía resolver una necesidad real del centro, sino también cumplir con los estándares necesarios para presentarse en el evento INNOVATEC 2023. Desde el inicio tomé un rol activo en el levantamiento de requerimientos, reuniéndome con docentes y el área de registro para comprender sus flujos de trabajo y transformar sus necesidades en funcionalidades claras y priorizadas.


El proceso comenzó con el diseño de la arquitectura de datos. Utilicé Draw.io para modelar la base de datos y opté por MySQL debido a la naturaleza relacional del sistema. Durante esta etapa identifiqué nuevas funcionalidades que no estaban contempladas inicialmente, lo que me llevó a ampliar los requerimientos y estructurar un sistema basado en roles, garantizando seguridad y control de acceso desde la base del proyecto.


Para el backend decidí construir una solución propia utilizando Node.js, TypeScript, Express y Sequelize. Implementé primero los módulos destinados a los docentes y los sometí a pruebas con Jest y SuperTest, lo que permitió asegurar estabilidad y detectar errores tempranos. Luego desarrollé el frontend con React, Vite y TypeScript, siguiendo la misma estrategia de pruebas con Jest y Testing Library. Una vez completada la primera versión funcional, regresé al backend para implementar las funcionalidades del área de registro y aproveché esa etapa para integrar un sistema de logging profesional con Winston y Better Stack Logtail, permitiendo monitoreo local y remoto.


Imagen de una pareja de programadores

Uno de los retos más importantes fue encontrar un servicio de base de datos MySQL que soportara múltiples conexiones simultáneas. Tras evaluar varias opciones gratuitas que no cumplían con los requisitos, tomé la decisión de contratar un servicio de pago para garantizar la estabilidad del sistema en producción. Con la infraestructura lista, realicé el despliegue del backend y el frontend, logrando una comunicación eficiente entre ambos y asegurando un rendimiento óptimo.


Finalmente, realicé pruebas de usuario con docentes y personal de registro, quienes validaron la facilidad de uso, la estabilidad y la mejora significativa respecto a sus procesos anteriores. El proyecto representó un ciclo completo de desarrollo: análisis, diseño, arquitectura, backend, frontend, pruebas, logging, despliegue y validación con usuarios reales. Más allá del resultado técnico, esta experiencia consolidó mi capacidad para liderar proyectos end‑to‑end, adaptarme a nuevos desafíos y entregar soluciones que generan impacto tangible.


Habilidades Aplicadas

https://res.cloudinary.com/dzs8lf9lc/image/upload/v1708577846/portfolio/skills/Express_jv5eue.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708577846/portfolio/skills/MySQL_xglbkh.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708987338/portfolio/skills/Testing_Library_n21cgg.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1702525293/portfolio/skills/cguq35pke2uqlkfts74a.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1700445492/portfolio/skills/gnpzldswhegpzcxirmo2.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708641039/portfolio/skills/Vitest_lemqd2.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708642862/portfolio/skills/Jest_bdtntf.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1700445502/portfolio/skills/v5u2rxpt7mebytthfrb2.pnghttps://res.cloudinary.com/dzs8lf9lc/image/upload/v1708577022/portfolio/skills/scss_jozonx.png

Compartir

Comentarios