As a project, a system was developed to simulate a distributed banking system with a central customer database and bank branches, each having its own local database where banking transactions are also recorded. The goal of the project was to develop a library that enables communication with distributed SQL Server databases and manages transactions. An additional assumption was that the databases are unaware of each other; to make things more challenging, all distributed processing is implemented using microservices.
- Java 21
- Spring Boot 3
- MS SQL
- Apache Kafka
- Docker
- Angular 19
You need to have Java 21, Maven, Docker installed on your machine.
Build the project using Maven:
mvn clean packageRun docker compose:
docker compose upTo run frontend (in the easiest way) navigate to MiniBankWEB directory:
cd MiniBankWEBThen install dependencies and run the application:
npm install -g @angular/cli
npm install
ng serveThen open your browser and go to http://localhost:4200.