Detailed description
Backend
- Design of layers architecture (controllers, services, repositories, etc.)
- Separated usage of DTOs and entities for better separation of concerns
- Third party integration services for storing files, databases and email services, using
Cloudinary,NeonandGoogle - Security of the data through
Spring Security, through the use ofJWTand encryption withsha256 - Usage of
Spring Bootfor building RESTful 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
- Dashboard with
ApexChartsfor the visualization of the data
Database
- Database
PostgreSQLused for storing the data of users, journals and publications - The database is located in
Neon
Deployment
Dockerfor building container imagesArtifact Registryfor 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