Next Gen Master Quiz es una aplicación web de trivia full-stack que desarrollé como proyecto final para el curso de Programación Python de Tokio Digital School.
Este proyecto fue todo un reto para mejorar mis habilidades en el desarrollo tanto de front-end como de back-end, combinando tecnologías modernas y eficientes para crear un juego de trivia que recopilara preguntas de una página web, las almacenara en una base de datos y después las devolviera de manera aleatoria al jugador/usuario en la aplicación, ofreciendo una puntuación final de 1 a 10.
El servidor back-end de la aplicación se desarrolló utilizando Python y el framework Flask. Esta elección permitió crear una API RESTful. Se estructuró de manera modular, separando las diferentes funcionalidades en módulos específicos:
El servidor Flask se encarga de manejar las rutas de la API, procesando las solicitudes del cliente y devolviendo las respuestas adecuadas. La estructura modular del back-end facilita el mantenimiento y la escalabilidad del proyecto para poder seguir incorporando en un futuro otras funciones o módulos para la aplicación.
Desarrollamos la arquitectura de la información y estructuramos la página web favoreciendo la navegación fluida de los usuarios, resolviendo las principales cuestiones que pudieran plantear.
Queríamos enfocamos en una navegación intuitiva y en resaltar los puntos fuertes del espacio de coworking, relacionados con su localización geográfica. Paralelamente, desarrollamos los aspectos principales que irían a definir la esencia de la marca hub36: sus tipografías, colores, guía de estilo, ilustraciones y tono de la comunicación.
A continuación comparto las «Foundations» que se diseñaron en Figma al inicio del proyecto, para establecer una base de diseño desde la que partimos y fuimos creando y evolucionando en el diseño.
Angular en su versión 16.2.4, aprovechando su potencia para crear una interfaz de usuario dinámica y receptiva. La aplicación se estructuró de la siguiente manera:
La integración entre el front-end y el back-end se realizó a través de llamadas HTTP -módulo HttpClient de Angular-. El flujo típico de la aplicación sería el siguiente:
Uno de los desafíos fue la gestión del estado de la aplicación en el front-end, puesto que era la primera vez que me enfrentaba a crear una aplicación con Angular. Utilicé observables para manejar el estado y el flujo de datos asíncrono y mantener la aplicación reactiva y eficiente.
Otro desafío fue la decisión de elegir Flask o Django para manejar el back-end de la aplicación. Finalmente, me decidí por Flask porque encontré mayor documentación referente o relacionada al proyecto que quería producir y me resultaba, en lo técnico, un framework más sencillo, amigable y con una curva de aprendizaje menos pronunciada, puesto que también contaba con la curva de aprendizaje por el lado del front-end.
Para concluir: Next Gen Master Quiz cumple con los requisitos del curso de programación Python de Tokio Digital School y además ha resultado ser un reto de desarrollo técnico con diversas tecnologías, para servir como base en mi futuro profesional.