Descripción detallada
Backend
- Diseño de la arquitectura de micro servicios
- Cada servicio se encarga de manejar entidades específicas en su propia base de datos y la comunicación con otros servicios mediante REST APIs con
OpenFeign - Seguridad de los datos usando
Spring Security, mediante el uso deJWTy encriptación consha256, en su propio servicio - El diseño incluye un API Gateway que se encarga de manejar las peticiones entrantes y redireccionarlas a los servicios correspondientes
Frontend
- Basado en módulos de
Angularaislados por roles y permisos - Estilizado con
Tailwind CSSyDaisyUI - Diseño de la experiencia de usuario para ser responsivo y simple para los usuarios
Base de datos
- Base de datos
PostgreSQLutilizada para almacenar los datos de los usuarios, los pacientes, las consultas, los empleados y las medicinas - Scripts DDL utilizando
SQLpara la creación de cada base de datos - Scripts DML utilizando
SQLpara la inserción de datos base para configurar correctamente la base de datos - La base de datos se encuentra en
Neon - Cada servicio tiene roles y permisos para acceder a sus respectivas tablas
Despliegue
Dockerpara la construcción de imágenes de contenedoresDocker Composepara el despliegue de los servicios en local, condevelop.watchpara detectar cambios en el código y actualizar automáticamente los servicios- Imágenes de Docker optimizadas para bajar el tamaño de los contenedores y evitar problemas de seguridad básicos
Docker Hubpara almacenar las imágenes de DockerGoogle Cloud Runpara el despliegue de las imágenes de Docker en la nube en el entorno de producción y de desarrollo- Integración continua con
GitHub Actionspara correr tests unitarios y reportes de cobertura - Entrega/despliegue continuo con
GitHub Actionspara la construcción de imágenes de Docker y despliegue de las imágenes de Docker en la nube