https://github.com/marinajcs/brushnbid
Aplicación desplegada en la nube, que permite a artistas noveles darse a conocer y poder subastar sus obras. Cloud Computing (UGR, 24-25).
https://github.com/marinajcs/brushnbid
api cloud-computing continuous-integration deployment docker-compose dockerfile elasticsearch kibana logstash microservices nodejs npm render typescript
Last synced: 4 months ago
JSON representation
Aplicación desplegada en la nube, que permite a artistas noveles darse a conocer y poder subastar sus obras. Cloud Computing (UGR, 24-25).
- Host: GitHub
- URL: https://github.com/marinajcs/brushnbid
- Owner: marinajcs
- License: agpl-3.0
- Created: 2024-10-04T11:58:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-19T19:08:57.000Z (11 months ago)
- Last Synced: 2025-09-18T04:47:15.016Z (4 months ago)
- Topics: api, cloud-computing, continuous-integration, deployment, docker-compose, dockerfile, elasticsearch, kibana, logstash, microservices, nodejs, npm, render, typescript
- Language: TypeScript
- Homepage:
- Size: 2.11 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BrushNBid
Repositorio del proyecto de prácticas de la asignatura de Cloud Computing (CC) en el Máster
Universitario en Ingeniería Informática de la Universidad de Granada (UGR), curso 24-25.
## Hito 1: Repositorio de pácticas y definición del proyecto
En el primer hito se ha configurado el entorno, creado el repositorio y definido la idea de la
aplicación, partiendo de un problema que podría abordarse con una solución desplegada en
la nube. Enlace al documento: [hito 1](docs/hito1.md).
## Hito 2: Integración continua
En el segundo hito se va a proceder a la elección, justificación y uso de las siguientes
herramientas: el gestor de dependencias y de tareas, la biblioteca de aserciones, el framework
para testing y el mecanismo de integración continua. Enlace al documento: [hito 2-1](docs/hito2-1.md).
Más información acerca de los test, incluidas capturas, en el siguiente documento: [hito 2-2](docs/hito2-2.md).
## Hito 3: Diseño de microservicios
En el tercer hito se va a implementar la API, hacer tests para la integración continua de la misma
e incluir los logs para el registro de acciones en la API en un fichero. Enlace al documento con la
justificación de herramientas: [hito 3-1](docs/hito3-1.md).
Más información acerca de los test, incluidas capturas, en el siguiente documento: [hito 3-2](docs/hito3-2.md).
## Hito 4: Composición de servicios
En el cuarto hito se ha realizado la composición de servicios a través de un archivo `compose.yaml`,
que permite desplegar un clúster de contenedores mediante la conexión de puertos, uso de redes y
volúmenes de datos. Para los servicios, se han utilizado imágenes base de Docker para la base de datos
y el monitoreo de logs, y se ha creado una propia a partir de un Dockerfile (que más tarde ha sido
publicado en Docker Hub) para la aplicación. La justificación de las imágenes y explicación de la estructura
del clúster vienen descritas en el documento: [hito 4-1](./docs/hito4-1.md).
Además, se han implementado tests de integración continua tanto para las pruebas de la API como para la
publicación y actualización automática de la imagen docker publicada. Finalmente, se ha incluido un test
para la construcción del clúster y la ejecución de algunas solicitudes a la API (ya conectada con la base
de datos). Se pueden consultar las capturas de tests, CI y visualización de logs en el fichero: [hito 4-2](./docs/hito4-2.md).
## Hito 5: Despliegue de la aplicación en un PaaS
En el quinto y último hito, se tiene como objetivo familiarizarse con las técnicas usadas para desplegar
aplicaciones desde un repositorio web a una Plataforma como Servicio (PaaS). En primer lugar, se ha llevado
a cabo una justificación detallada para la elección del PaaS utilizado en el proyecto. Esto incluye los
criterios establecidos, las opciones valoradas durante el análisis y la elección final, que pueden
consultarse en el documento: [hito 5-1](./docs/hito5-1.md).
Asimismo, se detalla la configuración completa realizada en Render, el PaaS elegido para el despliegue.
Se incluye una explicación paso a paso sobre cómo se configuraron los diferentes servicios, así como las
pruebas realizadas para verificar el correcto funcionamiento de la app, incluyendo despliegues automáticos
desde GitHub, integración con la base de datos, y validación de acceso a través de la URL pública.
Estos aspectos vienen recogidos en el documento: [hito 5-2](./docs/hito5-2.md).