Este Ahorcado fue realizado como trabajo práctico integrador de la asignatura Metologías Ágiles para el Desarrollo de Software, perteneciente al quinto año de la carrera Ingeniería en Sistemas de Información en la Universidad Tecnológica Nacional FRRo.
Ahorcado que permite jugar recreando las clásicas temrinales de juegos Arcade, permitiendo al usuario seleccionar una dificultad, un alias, y guardar el puntaje obtenido en la partida en caso de ganar para participar de un Ranking.
- Caracini, Bruno Tomás (43719) - bruno98980@gmail.com
- García, Santiago (43685) - santiago.garcia181@gmail.com
Se utilizaron metodologías ágiles para llevar a cabo el desarrollo de este trabajo, entre las cuales se destacan SCRUM, Kanban, Story Mapping y User Stories. Se utilizó Trello para como tablero principal para gestionar el estado del proyecto, y registrar los Sprints.
El Backend de este Ahorcado fue desarrollado en Flask, que es un framework minimalista de Python que permite crear aplicaciones web rápidamente y con un mínimo número de líneas de código. Para comunicarse con el frontend, se crearon rutas (endpoints), los cuales responden ante un POST con un JSON que contiene la información requerida. Para el almacenamiento de datos se utilizó MongoDB, con su correspondiente librería de Python, PyMongo. A su vez, se hosteó la BD en Atlas para poder acceder a ella de forma remota.
Se utilizó la librería Pytest para llevar a cabo los Test Unitarios a lo largo del backend de la aplicación. Esta librería brinda además un porcentaje de código cubierto por estos tests (Code Coverage), en base al cual se integró la herramienta CodeCov que genera reportes visuales acerca el estado del Code Coverage en cada commit realizado en este repositorio.
Se utilizó Heroku para hostear el backend de la aplicación y ponerla en producción, ya que además de ofrecer un servicio gratuito, brinda soporte para trabajar con Servidores de Integración Continua (CI Servers). En este sentido, se utilizó Travis como servidor CI para llevar a cabo las pruebas de Unit Testing, y para gestionar los deploys hacia Heroku en base al resultado obtenido en estos tests.