brunocaracini / TP-Agiles-2020-Backend

Trabajo Práctico Integrador de la asignatura Metodologías Ágiles para el Desarrollo de Software de 5° año de la carrera Ingeniería en Sistemas de Información.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ahorcado - Backend

Build Status codecov Quality Gate Status

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.

Descripción del Sistema

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.

Datos de Grupo de Trabajo

Metodología de Trabajo

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.

Enlace al Tablero

Entorno de Desarrollo del Backend y Funcionamiento

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.

Unit Testing

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.

Host, Puesta en Producción y CI Server

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.

About

Trabajo Práctico Integrador de la asignatura Metodologías Ágiles para el Desarrollo de Software de 5° año de la carrera Ingeniería en Sistemas de Información.


Languages

Language:Python 73.7%Language:Shell 26.3%