The idea is to make an application to monitor the personal finance. I will work on it on best effort.
I will experiment Gradle, Spring Webflux.
It's a monorepo containing all the components involved in the application:
- Grafana server for dashboards and alerting
- Backend server in Spring Boot
- Frontend in Angular (overkill of course, but the most known and with materialUI)
- Postgresql database
- Prometheus for monitoring backend
The main pipeline is located in .github/workflows/cd-pipeline.yml
and does the following:
- identify which module (by directory) has changes and find the new version tag according to semantic versioning (each module has a different suffix)
- create tag and GitHub Release
- build the image and deploy
Form login with session token.
- OAuth2.0
- Init the swarm if you haven't already:
docker swarm init
- Create the docker network used by every service:
docker network create -d overlay expenses_monitor
- Get a TLS certificate, follow here if you don't have one.
Work In Progress