En éste repositorio se documentará todo lo relacionado con el Proyecto Final de la materia Cloud Computing del Máster en Ingeniería Informática de la Universidad de Granada 2022-2023. El Objetivo es desarrollar una aplicación que pueda ser desplegada en la nube y que através de hitos se pueda ir avanzado en el desarrollo de la misma.
EXCELLENCE CLINIC APP
Excellence Clinic, es una Clínica Estética que provee productos y servicios en el mundo de la medicina estética y el antienvejecimiento. Cuenta con una amplia gama de Profesionales Especializados en las diferentes ciencias de la salud como los son: Nutrición, Medicina Funcional, Cirugía Estética, Cosmetología y Fisioterapia.
El Proyecto que se quiere desarrollar para la Clínica, es una aplicación que permita a los pacientes, visualizar el catálogo de productos y servicios que ésta pueda ofrecerle. Además, que puedan agendar una cita de consulta con el profesional especializado de manera online. El avance del proyecto, se desarrollará a través de Hitos, en el que se pretende abordar las funcionalidades de todo el sistema completo. El repositorio de todos los hitos, se encuentra de manera completa en la siguiente carpeta Docs, con cada uno de la información correspondiente.
Para dar inicio a toda la documentación que concierne al desarrollo de la aplicación se realizará la respectiva configuración del Repositorio en GitHub configuración de nuestro GitHub
En éste primer Hito seleccionaremos que herramientas y lenguajes de programación serían más funcionales para la elaboración de la arquitectura de la aplicación y del desarrollo en general. Para la ejecución de la aplicación, utilizaremos herramientas tales como Python, Flask(Framework BackEnd), Boostrap (Framework FrontEnd), Html y MySql (Gestor de Base de Datos).
Éste Hito 1 comprende también la organización del trabajo a través de los productos mínimamente víables, las historias de usuario principales y la creación de clases para las entidades del sistema.
En éste Hito 2, el cual consiste en el Módulo de Pruebas del Proyecto nos aseguraremos de realizar pruebas unitarias con el fin testear algunas funciones de la aplicación. En el caso de Python, que es el lenguaje de programacion que utilizaremos para el desarrollo, existen diferentes frameworks que permiten realizar éste proceso de manera automatizada como los son Robot, Unittest, DocTest y Pytest.
En nuestro caso, utilizaremos Pytest; el cual es un marco de prueba de código abierto basado en Python que generalmente es para todo uso, pero especialmente para Pruebas funcionales y API, así que por su sencillez y rendimiento nos decantaremos por éste último.
En éste Hito 3, vamos a centrarnos en la creación de un contenedor virtual para la ejecución de las pruebas de nuestra aplicación. Un contenedor nos permitirá empaquetar nuestra aplicación en un entorno aislado, junto a sus correspondientes dependencias dentro de unidades estandarizadas, permitiendo que la aplicación sea reproducible en cualquier otro entorno de software. Aunque existen distintos tipos de implementaciones de contenedores, el más famoso motor para crear contenedores de software es Docker. Entonces; en primera instancia decidiremos que contenedor utilizar, construiremos el Dockerfile y haremos la publicación de la imagen del archivo de pruebas.
En éste Hito 4, nos centraremos en desarrollar un proceso de integración continua, el cual es una práctica en el proceso del ciclo de software en el que se realiza la actualización del código en un repositorio central de forma periódica, tras lo cual se ejecutan versiones y pruebas automáticas. Éste proceso se hace de manera automática. Los objetivos clave de la integración continua consisten en encontrar y arreglar errores con mayor rapidez, mejorar la calidad del software y reducir el tiempo que se tarda en validar y publicar nuevas actualizaciones de software.