Tracking de trabajo en campo - NACELField Work Tracking - NACEL
Resumen
Sistema para dar seguimiento al trabajo en campo durante la instalación de torres de telecomunicaciones: proyectos, avance y datos de operación en un solo lugar. Desarrollado durante mi práctica como Fullstack Developer en NACEL (2025 - 2026).
Mi rol
Fullstack Developer. Desarrollé el gestor de proyectos completo (frontend y API REST), la integración con la fuente externa de tracking y la automatización de pruebas y despliegue.
Qué construí
- Un gestor de proyectos para instalación de torres con frontend y API REST bajo arquitectura hexagonal, con backend en NestJS.
- Integración con una API externa de tracking de campo, cuya data se almacena en una base de datos MySQL normalizada.
- Automatización de pruebas y despliegue continuo (CI/CD) con GitHub Actions.
Arquitectura y decisiones técnicas
- Arquitectura hexagonal: la lógica de negocio queda aislada de frameworks, base de datos y servicios externos mediante puertos y adaptadores. Esto separa responsabilidades y facilita las pruebas, ya que el dominio se prueba sin levantar infraestructura.
- Integración como adaptador: la API externa de tracking se consume desde un adaptador, de modo que cambiar o ampliar la fuente no afecta al dominio.
- Base de datos normalizada: la data de campo se almacena con esquemas normalizados y consultas optimizadas, lo que da consistencia y una base confiable para análisis posteriores.
- CI/CD: las pruebas y el despliegue se ejecutan de forma automática en cada cambio.
Resultados
- La operación en campo quedó registrada en una base de datos consistente.
- Esa misma base alimenta los dashboards de eficiencia y costos (ver el proyecto de Power BI).
- Pruebas y despliegues automatizados en lugar de manuales.
Stack
NestJS, MySQL, Redis, arquitectura hexagonal, GitHub Actions (CI/CD).
Overview
A system to track field work during telecom tower installation: projects, progress and operational data in one place. Built during my internship as a Fullstack Developer at NACEL (2025 - 2026).
My role
Fullstack Developer. I built the complete project manager (frontend and REST API), the integration with the external tracking source, and the test and deployment automation.
What I built
- A project manager for tower installation with frontend and REST API under a hexagonal architecture, with a NestJS backend.
- Integration with an external field tracking API, whose data is stored in a normalized MySQL database.
- Test automation and continuous deployment (CI/CD) with GitHub Actions.
Architecture and technical decisions
- Hexagonal architecture: business logic is isolated from frameworks, the database and external services through ports and adapters. This separates responsibilities and eases testing, since the domain can be tested without spinning up infrastructure.
- Integration as an adapter: the external tracking API is consumed from an adapter, so changing or extending the source does not affect the domain.
- Normalized database: field data is stored with normalized schemas and optimized queries, giving consistency and a reliable base for later analysis.
- CI/CD: tests and deployment run automatically on every change.
Key achievements
- Field operations are recorded in a consistent database.
- That same database feeds the efficiency and cost dashboards (see the Power BI project).
- Automated tests and deployments instead of manual ones.
Stack
NestJS, MySQL, Redis, hexagonal architecture, GitHub Actions (CI/CD).
Tecnologías utilizadas:Technologies used:
- NestJS
- Redis
- MySQL
- Arquitectura hexagonal
- GitHub Actions