Índice de TablasÍndice de Tablas Índice de FigurasÍndice de Figuras


Image logo_vertical


Trabajo de Fin de Máster Sistemas y Tecnologías Web Aplicadas (SyTWA)

Shell para corrección automática de repositorios de GitHub

CLI tool for automatic correction of GitHub's repositories .

Juan José Labrador González


La Laguna, 4 de julio 2017

D. Casiano Rodríguez León, con DNI número 42.020.072-S profesor Titular de Universidad adscrito al Departamento de Ingeniería Informática y de Sistemas de la Universidad de La Laguna, como tutor



C E R T I F I C A




Que la presente memoria titulada:


``Sistemas y Tecnologías Web Aplicadas. Shell para corrección automática de repositorios de GitHub.''




ha sido realizada bajo su dirección por D. Juan José Labrador González, con DNI número 78.729.778-L.



Y para que así conste, en cumplimiento de la legislación vigente y a los efectos oportunos firman la presente en La Laguna a 4 de julio 2017

Agradecimientos

La realización de esta asignatura de Trabajo de Fin de Máster no hubiera sido posible sin la ayuda de la Sección de Ingeniería Informática de la Escuela Superior de Ingeniería y Tecnología, que ha llevado a cabo todos los trámites necesarios.


Mención especial para mi familia, pareja y amigos, quienes me han alentado para no rendirme y lograr mis objetivos pese a las dificultades y contratiempos encontrados durante la realización de este Trabajo de Fin de Máster.


Y por último, especialmente agradecer a Casiano Rodríguez León su labor como tutor del Trabajo de Fin de Máster. Además de aprender muchísimo junto a él, me ha aconsejado, animado y resuelto mis dudas de manera incansable en la realización de este trabajo. Estoy seguro de que la experiencia y conocimientos adquiridos gracias a él, me ayudarán en mis próximos retos profesionales y personales.

Licencia



Image by-nc-sa_88x31

© Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.

Resumen:

El objetivo de este Trabajo de Fin de Máster ha sido integrar los conocimientos adquiridos durante los estudios del Máster y, en especial, del itinerario de Tecnologías de la Información, aproximando al alumno a la resolución de problemas de aplicaciones Web y favoreciendo el desarrollo de destrezas propias de la Ingeniería Web: se centra en el aprendizaje y puesta en práctica de metodologías, aproximaciones, técnicas y herramientas para abordar la creciente complejidad de este tipo de aplicaciones en el marco de las metodologías ágiles. Cada vez ésta cobra más importancia, siendo constante el aumento del número de aplicaciones de escritorio, smartphones y tablets.


En este Trabajo de Fin de Máster se propone el desarrollo de un paquete Node.js (NPM) que facilite la descarga y corrección de repositorios GitHub de alumnos. Existe un buen número de herramientas de Control de Versiones que permiten alojar proyectos software y agruparlos en organizaciones lógicas, pero carecen de mecanismos para automatizar funciones de uso cotidiano como la descarga de los mismos, la preparación del entorno de cada proyecto o la ejecución de pruebas.


En nuestra propuesta, se ha realizado una primera aproximación a la automatización de descargas y correcciones de repositorios, recopilando todos los datos inherentes de estas acciones y generando los informes correspondientes en formato PDF y HTML. Todo ello mediante un sencillo uso y sentando las bases para proporcionar más funcionalidades a la herramienta en un futuro próximo.

Palabras clave:
Consola, CLI, Shell, Terminal, Node.js, GitHub, Corrección, Automatización

Abstract

The aim of this Master's Degree Final Project has been to integrate all the knowledge gained during the Master studies, especially the knowledge from the Information Technologies speciality, bringing closer to the student the resolution of Web Application's problems and favouring the development of Web Engineering skills. These skills focus on the learning and use of methodologies, technologies and tools to deal with the growing complexity of Web Applications. Those skills are becoming more important, being constant the increase of desktop and mobile applications.


This Master's Degree Final Project proposes the development of a Node.js package (NPM) that facilitates the download and correction of students' GitHub repositories. There are many Version Control tools that allow to host software projects and group them into logical organizations, but they haven't automatic methods for downloading them, or setting up the environment for each project and executing tests on them.


In our proposal, we had made a first approach to the automation of repositories' downloads and corrections, gathering all the inherent data of these actions and generating PDF and HTML reports with them. All that through a simple way and setting the bases to provide more functionalities to the tool in a near future.

Keywords:
Console, CLI, Shell, Terminal, Node.js, GitHub, Correction, Automation



Juan José 2017-07-04