«SpaceParking» Mi primer proyecto con Laravel

Para obtener el título de Analista Programador, Inacap (Lugar donde estudié), exige aprobar un curso que se llama «Taller de Integración de Software», donde debes construir, diseñar o idear un proyecto real que dé solución a un problema existente o tomar un problema de una empresa y mejorar su proceso de negocio usando nuestra área de desarrollo.

En esta asignatura, junto con mi compañero Sergio M., tuvimos varias ideas, de las cuales la que nos pareció más interesante fue realizar este sistema llamado: «SpaceParking».

Pantalla principal de SpaceParking midiendo la ocupación de un parque de estacionamientos en tiempo real.

¿Cuál fue la idea?

Vimos que en Chillán, ciudad donde estudiamos, los estacionamientos gratuitos siempre se encontraban ocupados. Por lo que quisimos entregarle al conductor la información de disponibilidad «en tiempo real» de las plazas del estacionamiento donde se dirige.

El sistema constaba con dos partes, la de campo y la de servidor.

Parte de campo: Una red de placas con microcontroladores programables como Arduino, del modelo NodeMCU que incluye un Chip Wifi integrado. A esta placa le conectamos el sensor HR-SR04 que mide distancia con ultrasonido, con el cual obtenemos el dato de que plaza estaba ocupada y en qué momento.

Con la ayuda del Chip Wifi, enviamos el dato al servidor quien procesaba la información.

Parte del servidor: Montado en un servidor LAMP, desarrollamos un sistema en PHP 7 con el Framework Laravel 5.6, el que tenía algunos servicios para recibir la información desde campo y otra para mostrar en tiempo real la ocupación del estacionamiento que se estaba controlando. Para el desarrollo del front-end se ocuparon tecnologías como el gestor de plantillas Blade, JavaScript, Jquery, HTML5 y CSS3.

Solución

Así entonces, con este sistema teníamos en tiempo real la medición de las plazas ocupadas en un estacionamiento medido, publicando este dato en una página WEB pública que incluye un panel de administración con mantenedores para el Estacionamiento, Usuarios, Plazas, Reportes.

Para probar el proyecto: Maqueta.

Para las pruebas de campo, decidimos realizar una maqueta en miniatura donde camuflamos los sensores y placas NodeMCU en una versión escalada de un parque de estacionamiento con cuatro plazas.

Repositorio.

El repositorio tuvo su último commit hace más o menos 6 meses. Repositorio SpaceParking en Github.

Conclusión

En este proyecto, si vemos el código, sobre todo del front-end, hay mucho «código spaghetti», ya se que se puede optimizar bastante y mucho, pero como primer proyecto, la verdad es que aprendí mucho, desde comunicación por protocolos HTTP, configurar un servidor linux con el stack «LAMP», hasta un poco de IoT.