Inspiration
Nuestro equipo se inspiró en parte en las propuestas establecidas por el mismo Hackathon Troyano, estableciendo un proyecto con bases en el Internet de las Cosas, además de algoritmos de eficiencia y buenas prácticas tanto de programación como de conservación de recursos.
What it does
Gestiona y almacena información sobre los recursos con las cuales se cuentan dentro de una oficina. El propósito fue que el usuario final tuviera la libertad de personalizar el ambiente a manejar, con todos los recursos necesarios. Dentro de lo que se administra se encuentran los sistemas de calefacción y enfriamiento del ambiente laboral, además de el uso energético de las luces, el nivel de tinta de las impresoras, y las entradas y salidas de los trabajadores dentro del espacio establecido. Gracias a los json que almacenan información, se almacena también el tiempo que cada empleado pasa en el espacio de trabajo, y la cantidad de tiempo que pasa en espacios libres, así permitiendo tener un nivel mayor de monitoreo sobre los recursos humanos de la organización. Encima, gracias al modelo Gemini, es posible conseguir reportes en lenguaje natural detallados sobre el estado de la oficina. Algo que es importante considerar es que, como equipo, no contamos con el hardware de los sensores; por lo tanto, las entradas que toman son generadas por el mismo programa, simuladas para lograr un nivel suficientemente alto de precisión como para comprobar el funcionamiento del programa en un caso hipotético. Cada sensor tiene un método distinto para generar sus datos, ya que las variables que observan son distintas.
How we built it
Comenzamos en proyectos C#, antes de mover el código que teníamos a un repositorio Git en común. Se hicieron varias pruebas implementando distintas librerías o paquetes para lograr el resultado, y se observaron varias estrategias para llevarlo a cabo. Al final, cuando se consiguió acordar uno en particular, dos integrantes se enfocaron en el 'backend' del código, incluyendo toda la lógica de la administración y la simulación de las entradas, así como la implementación del API de Gemini dentro del proyecto. Dos otros integrantes se enfocaron en investigación e ideación de estrategias alternativas, además de la realización de sprites para la página visual, y los documentos entregables, incluido el video. Finalmente, el último integrante pasó el tiempo realizando la aplicación en Unity, la cual permite adaptar la aplicación a móvil y otros formatos, además del logotipo del proyecto y los aspectos visuales.
Challenges we ran into
Fue bastante difícil implementar el Gemini, ya que tardamos mucho tiempo en poder encontrar un código que se pudiera utilizar en el lenguaje de programación que utilizamos (C#). Además, encontramos dificultades vinculando el lado lógico, de la consola, con el lado visual. A pesar de muchos intentos, no pudimos consultar con una base de datos MySQLite vinculada al código, y no pudimos utilizar el MongoDB, pero al final nos quedamos con los archivos json. Tuvimos complicaciones decidiendo cómo abordar la problemática al inicio del evento, y el manejo de comandos de Git dentro de Visual Studio a veces generó complicaciones. En fin, se mostró que carecíamos de experiencia en este tipo de evento, en especial actividades de programación colaborativas.
Accomplishments that we're proud of
Estamos orgullosos de haber completado las funciones que nos habíamos propuesto anteriormente al evento, ya que es nuestro primer Hackathon, además del desarrollo que conllevamos como ingenieros de software a lo largo del evento. Tanto el Unity, como el Gemini, eran cosas que al inicio no teníamos planeado considerar, por lo que estamos orgullosos de su implementación (en su mayor parte) exitosa.
What we learned
Aprendimos mucho sobre nuestra propia falta de experiencia, pero al mismo tiempo aprendimos sobre el manejo de los json, la colaboración en repositorios de git, las conexiones entre distintos formatos de archivo, el uso de Unity, la división de responsabilidades en miembros del equipo, y la resiliencia del equipo en situaciones de estrés.
What's next for Sys32
Este equipo aprenderá de nuestras deficiencias y errores durante este evento, para después dar mayor rendimiento tanto individualmente como en equipo, para que en eventos futuros, ya con experiencia trabajando en este equipo, podamos salir adelante y desarrollar mejores soluciones.
Log in or sign up for Devpost to join the conversation.