Skip to content

sergiovp/IV-OrganizeAndGo

Repository files navigation

Infraestructura Virtual - Organize&Go

Repositorio dedicado al proyecto a desarrollar de la asignatura Infraestructura Virtual, impartida por @jj y @fbarranco en Ingeniería Informática, UGR (2020/21).


Descripción

  • ¿Eres jefe de tu empresa?
  • ¿Sueles trabajar de manera colaborativa con otra gente?

En caso de que se cumpla alguna de la cuestiones anteriores...

¿Crees que os organizáis de manera correcta? ¿Sabes en todo momento qué trabajo está desempeñando cada uno de tus empleados/compañeros? ¿Tienes idea del tiempo aproximado que tardarán en abordar sus tareas y cuál será la próxima tarea a realizar?

En caso negativo, estás de suerte. Organize&Go se define como un microservicio desarrollado para abordar los problemas planteados anteriormente.

Se podrán organizar equipos de trabajo de manera eficiente, de forma que en todo momento se conozcan las tareas a ser desarrolladas, así como el tiempo estimado en terminar cada una de ellas, la prioridad o el empleado/compañero al que se le ha sido asignada.


Microservicio

Toda la información la encontramos en el fichero microservicio.md aunque se facilitan los accesos directos:

  • Justificación técnica del framework elegido para el microservicio con documentación sobre cómo se usa en la práctica. Se puede consultar aquí

  • Diseño en general del API, las rutas (o tareas), tipos devueltos por las peticiones y estados devueltos por las mismas, tests y documentación de todo, justificando como se ajustan a las historias de usuario, de forma que reflejen correctamente un diseño por capas que desacopla la lógica de negocio del API. Se puede consultar aquí

  • Uso de buenas prácticas: configuración distribuida, logs, uso de middleware. Se puede consultar aquí

  • Tests correctos y de acuerdo con las historias de usuario. Se pueden consultar aquí


Serverless

  • Despliegue correcto y funcionando con documentación de la conexión entre el repositorio de GitHub y vercel para despliegue continuo. Se puede consultar aquí

  • Integración dentro del proyecto general se puede consultar aquí con su respectiva HU

  • Uso e integración de una plataforma adicional (Netlify) se puede consultar aquí con su respectiva HU

  • Integración función serverless con bot de telegram se puede consultar aquí


Herramientas

Se pueden consultar más detalles en el fichero herramientas.md.

  • Lenguaje de programación: TypeScript + Node.js

  • Herramientas de testing: mocha + chai

  • Despliegue de la aplicación en la nube: docker

  • Base de datos: aún por decidir

  • Sistema de logs: aún por decidir


Documentación

En el directorio docs encontraremos distintos ficheros relativos al desarrollo del proyecto. Dichos ficheros son:

  • config_git.md. Se aportan pruebas para reflejar que git ha sido configurado correctamente.

  • herramientas.md. Una justificación de la elección de las herramientas utilizadas para abordar el desarrollo de Organize&Go.

  • desarrollo.md. Resumen de las tareas desarrolladas en cada práctica.


App

En el directorio app tenemos el código de nuestra aplicación.

  • index.ts es el fichero principal que cumple la función de "main".

Las clases las encontramos en el directorio organizeandgo. Hasta el momento tenemos las siguientes:


Despliegue

NOTA: Como prerrequisito, se debe tener instalado Node y npm.

Clonamos el respositorio:

git clone https://github.com/sergiovp/IV-OrganizeAndGo

Nos situamos sobre el repositorio:

cd IV-OrganizeAndGo

Instalamos las dependencias y módulos:

npm install

Lanzamos la aplicación:

npm start

Testing

NOTA: Como prerrequisito, se debe tener instalado Node y npm.

Clonamos el respositorio:

git clone https://github.com/sergiovp/IV-OrganizeAndGo

Nos situamos sobre el repositorio:

cd IV-OrganizeAndGo

Instalamos las dependencias y módulos:

npm install

Lanzamos los tests:

npm test

Los tests los encontramos en el directorio tests. Tenemos un fichero por cada clase de nuestro proyecto:


Docker

Todo lo relativo a la práctica de Docker lo encontramos justificado en el fichero herramientas.md.

Por comodidad, se ofrecen enlaces directos a dicha documentación:

Ejecutar los tests con Docker

NOTA: Como prerrequisito, se debe tener instalado Docker.

Clonamos el respositorio:

git clone https://github.com/sergiovp/IV-OrganizeAndGo

Nos situamos sobre el repositorio:

cd IV-OrganizeAndGo

Descargamos la imagen:

docker pull sergiovela/iv-organizeandgo:latest

NOTA: No es necesario descargarse la imagen previamente. Este proceso se hará solo si lo ejecutamos directamente como vemos en la siguiente línea.

Los ejecutamos:

docker run -t -v `pwd`:/test sergiovela/iv-organizeandgo

GitHub Container Registry

He hecho uso de un registro alternativo a DcokerHub, en este caso es GitHub Container Registry.

El paquete se puede ver aquí.

Ejecutar los tests con GitHub Container Resgistry

NOTA: Como prerrequisito, se debe tener instalado Docker.

Clonamos el respositorio:

git clone https://github.com/sergiovp/IV-OrganizeAndGo

Nos situamos sobre el repositorio:

cd IV-OrganizeAndGo

Descargamos la imagen:

docker pull ghcr.io/sergiovp/iv-organizeandgo:latest

NOTA: No es necesario descargarse la imagen previamente. Este proceso se hará solo si lo ejecutamos directamente como vemos en la siguiente línea.

Los ejecutamos:

docker run -t -v `pwd`:/test ghcr.io/sergiovp/iv-organizeandgo:latest

Integración continua

Todo lo relativo a la integración continua (justificaciones, capturas de pantalla, etc) se encuentra en el fichero integracion_continua.md. Se ofrecen los siguientes accesos directos para mayor comodidad:


Historias de usuario

Como sabemos, un proyecto debe de estar bien especificado, en nuestro caso, dichas especificaciones las haremos en forma de historia de usuario. Serán documentadas en issues y a medida que avancemos con el proyecto, se podrán incorporar más.


Autor


License: GPL v3

About

Repositorio dedicado al proyecto de la asignatura Infraestructura Virtual, impartida por @JJ y @fbarranco.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages