Managing your money has never been easier! CashFlow is a modern and intuitive financial tracking app designed to help you take control of your finances effortlessly.
With a friendly user interface you will be able to register your incomes and expenses and with the help of generated graphics you will be able to understand what is happening on your financial life.
The project is based on microservices architecture where we will have multiple APIs each one with your responsibility strongly defined.
The chosen architecture will make the app easy to scale up, improve maintenance and facilitate errors identification and treatment.
For the project organization we will use GitHub Projects to create a kind of Scrum board where we will define the US to be developed and also the tasks that must be linked to PRs making it easier to track the development evolution.
All applications will have a GitHub pages with Swagger documentation to help on understanding.
We strongly believe that good practices are the pillar to develop an amazing solution. Here are some of ours practices:
- Unit Tests: All APIs need to have at least 80% of code coverage;
- Clean Code: Will use SonarQube to maintain our code clean;
- Commits: All commits should follow Conventional Commit standards;
- All those practices will be enforced with the help of GitHub Actions.
- JavaScript - React;
- Java - SpringBoot;
- Docker;
- MySQL;
- Jenkins;
- SonarQube;
- GitHub Actions;
- Flyway;
- Grafana;
The project is containerized using Docker, which allows for easy deployment and scaling. The Docker Compose file orchestrates the different services, making it simple to run the entire application stack locally or in production.
You can find the Docker Compose file and the documentation to run it in the CashFlow-Compose repository.
Feel free to reach out if you have any doubts or suggestions!