Repositorio dedicado al proyecto a desarrollar de la asignatura Infraestructura Virtual, impartida por @jj y @fbarranco en Ingeniería Informática, UGR (2020/21).
- ¿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.
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í
- Fichero de tests: api_test.js
-
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í
Se pueden consultar más detalles en el fichero herramientas.md.
-
Lenguaje de programación: TypeScript + Node.js
-
Despliegue de la aplicación en la nube: docker
-
Base de datos: aún por decidir
-
Sistema de logs: aún por decidir
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.
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:
- empleado.ts
- equipo.ts
- tarea.ts
- organizeandgo.ts. Este es el fichero gestor
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
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:
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:
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
He hecho uso de un registro alternativo a DcokerHub, en este caso es GitHub Container Registry.
El paquete se puede ver aquí.
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
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:
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.
- HU0: Introducción
- HU1: Consultar información de las tareas
- HU2: Modificar información de las tareas
- HU3: Añadir equipos
- HU4: Añadir empleados
- HU5: Añadir tareas