Skip to content

Repositorio para el desarrollo de la asignatura de IV.

License

Notifications You must be signed in to change notification settings

Paszser/ComparerApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComparerApp 🎮

Idea Inicial 💡

Comparador de precios de videojuegos en diferentes tiendas web. Los precios se actualizarán de forma diaria teniendo en cuenta los diversos cambios que se pueden producir en sus correspondientes sitios web en diversos momentos (en el momento en el que se refresque la página para el user), así como tratar de predecir tanto el precio, como el momento en el que se producirá la rebaja teniendo en cuenta datos estadísticos pasados. Este análisis se realizará sobre una gama de videojuegos bastante alta, siendo aquellos que se encuentran disponibles en las tiendas web de mayor referencia, independientemente de la antigüedad, el precio, importancia o género.

Motivación 👏

La idea del proyecto viene dada para dar una herramienta a aquellas personas, desde estudiantes aficionados a los videojuegos, hasta aquellos más veteranos, que buscan poder adquirir de forma legal a un precio asequible sus juegos favoritos.

Documentación 📂

Se tiene acceso a la documentación del proyecto en este enlace.

  • En el archivo Issues se describen los tipos de usuario así como las historias de los mismos que derivan en la creación de los milestones para conseguir esas funcionalidades.
  • En el archivo User Journey se realiza el ejemplo del recorrido del usuario al hacer uso de la aplicación funcional.

Automatizacion de testeo 📋

Instalación y tests

Para el desarrollo de estas comprobaciones, va a ser necesario poseer en nuestra máquina, y así poder ejecutar, comandos pertenecientes a 'rake', 'ruby' y 'gem'.

Primeramente, comprobaremos si tenemos los comandos mencionados anteriormente instalados:

rake --version
gem --version
ruby --version

A continuación y para facilitar la administración de la instalación de lo que se necesita de Ruby, recomendamos seguir las pautas que se indican en la página oficial: RVM

Procedemos a instalar aquel que no tengamos en nuestro PC. En caso de necesitar la última versión de Ruby usaremos el siguiente comando. Con este comando se incluye la instalación de gem si no se tuviera en la máquina:

rvm install ruby
rvm --default use ruby

Para manejar e instalar algunas dependencias, haremos uso de un manejador para ello, conocido como bundler y el cual instalaremos en nuestra máquina:

gem install bundler

Así obtendremos un manejador que nos ayudará a instalar las dependencias precisas para el proyecto, el cual culminará cuando ejecutemos (el cual incluye rake), especificado en el archivo Gemfile:

rake installdeps

Tras este comando se generará un archivo "Gemfile.lock" el cual recoge las versiones instaladas mediando el comando de las dependencias.

Tras tener todas las herramientas de las que disponemos, podremos comenzar a hacer uso de las tareas creadas para la automatización y las comprobaciones que se requieren:

Realización de los test pertinentes

Se realizarán los test con:

rake test

Comprobación de la sintaxis

Se realizarán comprobaciones de la sintaxis de los ficheros del proyecto con:

rake check

Tests

Para la realización de pruebas de nuestro código, haremos uso de la herramienta RSpec. Primeramente, comprobaremos si la poseemos:

rspec --version

En caso negativo, procederemos a ejecutar el siguiente comando, (tras la inclusión en el Gemfile de la gema correspondiente a RSpec):

bundle binstubs rspec-core

Este comando instala rspec y crea un ejecutable de nombre rspec en nuestro directorio ./bin/. Así no será necesario ejecutar continuamente el comando bundle exec rspec cuando queramos hacer uso de la herramienta, y solo nos será necesario acceder a ./bin/rspec

El comando que muchos tutoriales recomiendan es directamente hacer uso de:

bundle install --binstubs

Pero muchos expertos lo consideran como obsoleto en contraposición al comando que hemos optado por usar, el cual es más recomendado.

Seguidamente, usaremos el comando:

bin/rspec --init

Con el cual generaremos el directorio ./spec con el archivo spec_helper.rb en su interior y que contendrá diversas utilidades en él de cara a nuestras pruebas, como por ejemplo, la configuración. Y además nos creará un archivo de nombre .rspec.

Finalmente como en momentos previos usamos Rake para automatizar el proyecto. Podremos hacer uso del siguiente comando para testear nuestro código:

rake test

Docker

Dockerhub

A su vez haremos uso de Dockerhub, el registro de repositorios facilitado por Docker para extraer y enviar las imágenes, y para lo que hemos tenido que seguir una serie de pasos para su set up.

Aquí podemos encontrar el enlace al Dockerhub en el que se encuentra el proyecto, al cual se le puede hacer pull.

Preparación

Tras crear nuestra cuenta en Dockerhub y crear nuestro repositorio de nombre igual al de nuestro proyecto, hemos accedido al apartado de seguridad en la configuración del perfil para general un token de seguridad.

Dicho token se ha añadido como secreto de nuestro repositorio como token de acceso, que en consonancia al token de nuestro usuario de dockerhub, serán los dos secretos enlazados a nuestro repositorio de GitHub.

Podemos encontrar aquí una visión más amplia de algunos conceptos en relación a los contenedores.

About

Repositorio para el desarrollo de la asignatura de IV.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published