Skip to main content
GreenHouse — Matrícula de Honor en AST - 1 of 5
1 / 5
AcadémicoMatrícula de Honor

GreenHouse — Matrícula de Honor en AST

Sistema de invernadero en C++ desarrollado para AST (Ampliación de Sistemas Telemáticos), asignatura de la URJC centrada en construir aplicaciones telemáticas mediante prácticas progresivas. El proyecto final integró diseño orientado a objetos, usuarios por roles, sensores, cámaras, abstracción de hardware, persistencia en ficheros, diagramas UML con UMLET y documentación con Doxygen. Obtuvo Matrícula de Honor, la máxima distinción académica de la asignatura.

Narrativa del proyecto

GreenHouse fue el proyecto final de AST, una asignatura de la URJC donde el código evolucionaba a través de prácticas sucesivas. El objetivo era construir un sistema de gestión de invernadero en C++ aplicando programación orientada a objetos, no solo resolver ejercicios aislados. La versión final conectaba usuarios, sensores, cámaras, interfaces de hardware, persistencia, documentación y diseño UML dentro de un mismo sistema.

La arquitectura se organiza alrededor de una clase principal GreenHouse que coordina AlarmSensors, ManageCameras, MonitoringSystem y UsersServer. El sistema incluye usuarios Admin, Employee y Guest; una capa de servidor/base de datos de usuarios; cámaras RGB y térmicas; sensores de temperatura, calidad del aire, humedad, presión, luz y pH; y abstracciones de hardware para pantalla, teclado e interruptor. Además, persiste usuarios y sensores en ficheros de texto y binarios como users.txt, users.dat, sensors.txt y sensors.dat.

Una parte importante del proyecto fue la curva de aprendizaje. Hacia la mitad de la asignatura, después de recibir feedback directo de que con lo que llevaba objetivamente no podría pasar de un 5/10, lo tomé como punto de inflexión. Revisé dónde fallaba mi diseño en C++ y POO, reconstruí la arquitectura con más disciplina durante Semana Santa, mejoré la documentación y los diagramas, y convertí la entrega final en mi primera Matrícula de Honor. Es uno de los proyectos académicos de los que más orgulloso estoy porque el resultado nació de corregir errores reales de diseño, no de un camino fácil.

Rol y contribuciones

Desarrollador único del sistema final GreenHouse. Diseñé la estructura orientada a objetos, implementé las clases en C++, conecté gestión de usuarios por roles, sensores, cámaras, hardware de monitorización, persistencia binaria/texto y documentación Doxygen. Usé UMLET para modelar la organización de clases e iteré desde las primeras prácticas hasta la entrega final integrada.

Versiones e hitos

vP0Inicio de asignatura

Prácticas progresivas de C++ y POO

El invernadero evolucionó desde las primeras prácticas hasta convertirse en un proyecto final integrado.

vMIDFeedback a mitad de curso

Punto de inflexión en diseño orientado a objetos

Un feedback directo evidenció debilidades en el enfoque inicial de C++/POO y motivó un rediseño más profundo.

vSPRINTSemana Santa 2024

Reconstrucción de arquitectura y documentación

Trabajo intensivo en estructura de clases, diagramas UMLET, comentarios Doxygen y persistencia en ficheros.

vFINALMayo de 2024

Matrícula de Honor

Entrega final integrada reconocida con la máxima distinción académica de la asignatura.

Tecnologías

C++
Object-Oriented Programming
Doxygen
UMLET
UML
Makefile
Shell Scripting
File Persistence