Detailed description
Backend
- Design of the micro services architecture
- Each service is responsible for handling specific entities in its own database and communication with other services through REST APIs with
OpenFeign - Security of the data using
Spring Security, through the use ofJWT, in its own service - The design includes an API Gateway that is responsible for handling incoming requests and redirecting them to the corresponding services
Frontend
- Based on
Angularmodules isolated by roles and permissions - Stylized with
Tailwind CSSandDaisyUI - Design of the user experience to be responsive and simple for users
Database
- Database
PostgreSQLused for storing the data of users, patients, consultations, employees and medicines - DDL scripts using
SQLfor the creation of each database - DML scripts using
SQLfor the insertion of base data to correctly set up the database - The database is located in
Neon - Each service has roles and permissions to access its respective tables
Deployment
Dockerfor building container imagesDocker Composefor the deployment of the services locally, withdevelop.watchto detect code changes and automatically update the services- Optimized Docker images to reduce the size of containers and avoid basic security issues
Docker Hubfor storing the Docker imagesGoogle Cloud Runfor the deployment of the Docker images in the cloud in the production environment and development environment- Continuous integration with
GitHub Actionsfor running unit tests and coverage reports - Continuous delivery/deployment with
GitHub Actionsfor building Docker images and deploying Docker images in the cloud