Esta aplicación de "Libreria Virtual" pretende servir como herramienta de aprendizaje de temas como microservicios, despliegue basado en contenedores (Docker) y orquestación de contenedores (Kubernetes).
En el siguiente diagrama se presenta la arquitectura general de la aplicación:
El proyecto está construido en 4 fases, como se presenta a continuación:
Consta de 2 microservicios y 2 frontends
- backend-library-catalog : Backend Catalogo de libros (Springboot)
- backend-reviews : Backend Reviews de lectores (Node + Express)
- frontend-catalog-library : Frontend Catalogo de libros (React)
- frontend-reviews : Frontend Reviews de lectores (Angular)
En esta fase los microservicios no tienen persistencia, los datos son almacenados en memoria RAM
Esta fase es similar a la anterior con la diferencia que los microservicios tiene persistencia
- backend-library-catalog : Backend Catalogo de libros (Springboot + MySQL)
- backend-reviews : Backend Reviews de lectores (Node + Express + MongoDB)
- frontend-catalog-library : Frontend Catalogo de libros (React)
- frontend-reviews : Frontend Reviews de lectores (Angular)
En esta fase se agrega a los microservicios de la fase 2 un microservicio store (la tienda) y su respectivo frontend
- backend-library-catalog : Backend Catalogo de libros (Springboot + MySQL)
- backend-reviews : Backend Reviews de lectores (Node + Express + MongoDB)
- frontend-catalog-library : Frontend Catalogo de libros (React)
- frontend-reviews : Frontend Reviews de lectores (Angular)
- backend-store : Backend de la tienda de libros (Springboot + MySQL)
- frontend-store : Frontend Reviews de lectores (Angular)
En esta fase se agrega a los microservicios de la fase 3 un microservicio shipping (entrega) que se integrará mediente un middleware de mensajeria
- backend-library-catalog : Backend Catalogo de libros (Springboot + MySQL)
- backend-reviews : Backend Reviews de lectores (Node + Express + MongoDB)
- frontend-catalog-library : Frontend Catalogo de libros (React)
- frontend-reviews : Frontend Reviews de lectores (Angular)
- backend-store : Backend de la tienda de libros (Springboot + MySQL)
- frontend-store : Frontend Reviews de lectores (Angular)
- backend-shipping : Backend de servico de entrega de los libros comprados (Node + Express)
- Los frontends se encuentran en el directorio frontends
- Los backends con persistencia se encuentran en el directio backends, la versión simple (en memoria) en backends/in-memory y la versión persistente en backends/persistent
