Sobre el proyecto
Un vistazo a las principales tecnologías que impulsan el proyecto Louv: lenguajes, frameworks, entornos y servidores que PatataTeam aplica desde el ABP en Ingeniería Multimedia.
Un vistazo a las principales tecnologías que impulsan el proyecto Louv: lenguajes, frameworks, entornos y servidores que PatataTeam aplica desde el ABP en Ingeniería Multimedia.
En Louv queríamos construir un proyecto sólido, funcional y alineado con los conocimientos adquiridos en la Universidad de Alicante dentro del grado de Ingeniería Multimedia. Por eso, escogimos un conjunto de tecnologías que nos permitieran aprender y al mismo tiempo aplicar conocimientos de programación de años anteriores. Nuestro objetivo no era solo desarrollar una solución útil, sino hacerlo aplicando la filosofía del Aprendizaje Basado en Proyectos (ABP), integrando programación, diseño y trabajo en equipo dentro de PatataTeam.
En Louv, usamos la pila MEAN (MongoDB, Express, Angular, Node.js) para desarrollar una aplicación escalable y lo más eficiente posible. Además, incorporamos otros elementos adicionales como Rasa para crear funcionalidades como la del chatbot.
Framework de JavaScript para construir interfaces de usuario dinámicas y complejas en aplicaciones web.
Aunque ya lo conocíamos, no lo habíamos manejado demasiado, así que decidimos usar Angular porque representaba un reto asumible y al mismo tiempo nos ofrecía una estructura sólida para un proyecto grande como Louv.
Su ecosistema, documentación y comunidad lo convierten en una herramienta ideal para aprender buenas prácticas y mantener un código limpio.
Por qué lo usamos:
Lo conocíamos, pero queríamos profundizar más.
Permite estructurar bien aplicaciones grandes.
Facilita el despliegue junto con Apache.
Tiene buena comunidad y soporte.
Entorno de ejecución para JavaScript en el servidor. Permite ejecutar JavaScript fuera del navegador y construir aplicaciones backend.
Era una tecnología que ya dominábamos, así que nos permitió trabajar con seguridad en la parte del servidor. Node encaja muy bien con aplicaciones modernas y nos da velocidad y flexibilidad.
Framework para Node.js que facilita la creación de aplicaciones web y APIs RESTful. Simplifica la gestión de rutas, middleware, y peticiones HTTP.
Al haberlo utilizado anteriormente, sabíamos que Express era ideal para construir una API rápida, clara y modular. Facilita muchísimo la organización del backend.
Por qué los usamos:
Eran tecnologías conocidas por el equipo.
Su flexibilidad y creatividad nos permiten desarrollar rápido.
Facilitan la comunicación entre Angular, Rasa y la base de datos.
Framework de código abierto para el desarrollo de chatbots en Python con procesamiento de lenguaje natural (NLP). Permite crear bots inteligentes y personalizables.
Esta sí fue una tecnología completamente nueva y uno de los mayores retos del proyecto. Elegimos Rasa porque queríamos añadir una funcionalidad avanzada de chatbot y aprender algo totalmente fuera de nuestra zona de confort.
Por qué la usamos:
Era un reto técnico que nos apetecía asumir.
Permite crear chatbots potentes y personalizables.
Encaja con la idea de aprendizaje y exploración del ABP.
Gestor de bases de datos NoSQL que almacena datos en formato de documentos JSON. Es flexible y permite escalar fácilmente para manejar grandes volúmenes de datos no estructurados.
Aunque conocíamos MongoDB, nunca lo habíamos usado para un proyecto tan complejo. Su naturaleza NoSQL nos daba la flexibilidad que necesitábamos para un sistema en constante evolución.
Servidor web de código abierto que permite gestionar solicitudes HTTP, distribuirlas a otros servicios y administrar la carga del servidor.
Nunca lo habíamos usado antes, pero necesitábamos un servidor web potente capaz de actuar como proxy inverso. Fue un descubrimiento importante dentro del proyecto.
Por qué lo usamos:
Reto obligatorio y nuevo para el equipo.
Nos ofrece seguridad, proxy inverso y control centralizado.
Durante el desarrollo, enfrentamos y seguiremos enfrentando desafíos que nos obligan a replantear algunas decisiones tecnológicas. Por ejemplo, ya hemos tenido que resolver problemas de compatibilidad, como los surgidos con Rasa, reorganizar ciertas partes del código y la estructura, e incluso cuestionarnos si debíamos usar MongoDB o una base de datos SQL, dado que la complejidad de nuestras tablas supera la de algunos otros proyectos. Además, hemos tenido varios percances con Apache, que, lamentablemente, han afectado otras áreas del proyecto, retrasando aún más el progreso. Aunque estos obstáculos han ralentizado el proceso, también han sido una oportunidad para mejorar nuestra capacidad de diagnosticar problemas y encontrar soluciones creativas.
Visita nuestra entrada del blog en la que te enseñamos algunas de las interfaces que muy pronto podrás experimentar tú mismo.
Añadir un comentario