ATM is a part of our life activity, which helps us in day transactions and business. An automated teller machine (ATM) is a computerized telecommunications instrument that provides the clients of a financial institution with access to financial transactions in a public space without the need for a cashier, human clerk or bank teller.
At this time, the ATM provides the people good services especially the people can get money at any time. We need the ATM system because not all the bank branches are open all days of the week, and some of the customers may not in a situation, they can visit the bank every time, and they want to withdraw money or deposit money for emergency cases.
- Install Docker Engine
- Install Docker Compose
- Clone Git URL
cd atm-emulator
chmod +x cicd.sh
$./cicd.sh
docker-compose down -v
- Install Java 11
- Install Maven > 3.3.1
- Clone Git URL
cd atm-emulator
mvn spring-boot:run
If you want to run server locally, change the Postgresql database url in src/main/resources/application.yml
from pgsql-db-01
to localhost
.
Spring Boot automatically create the schema and initialize it with sample data.
You can see database shema in src/main/resources/schema.sql
and initial data in src/main/resources/data.sql
.
** You can see API documentation with swagger-ui
- Session management mechanism (Jwt)
- Validation
- Standard list of operations with ATM (Deposit, Withdrawal, Transfer, Get information)
- Having unit and Integration tests
- Having CI/CD configuration
- Having swagger configured
- Java doc comments
- Layered Architecture (Controller, Service, Repository, Validator)
- Clean code