https://github.com/cata77/rest-api-atm-project
Java Spring Boot Rest API ATM Project
https://github.com/cata77/rest-api-atm-project
gradle hibernate java junit5 lombok mockito postgresql rest-api spring-boot spring-data-jpa swagger-specification
Last synced: 5 months ago
JSON representation
Java Spring Boot Rest API ATM Project
- Host: GitHub
- URL: https://github.com/cata77/rest-api-atm-project
- Owner: Cata77
- Created: 2023-01-08T10:50:29.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T19:09:06.000Z (over 2 years ago)
- Last Synced: 2025-03-22T10:47:54.830Z (about 1 year ago)
- Topics: gradle, hibernate, java, junit5, lombok, mockito, postgresql, rest-api, spring-boot, spring-data-jpa, swagger-specification
- Language: Java
- Homepage:
- Size: 200 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Spring Boot Rest API ATM Project
The application simulates the usage of an ATM via REST API calls. It aims to provide the user with bank operations and
to keep a record of customer transactions in a database.
## Functionality
The ATM offers three sets of operatons:
- Authentication
- Register
- Login
- User
- Deposit
- Withdraw
- Transfer (to another bank user)
- Bank account details
- Bank statement for a certain date
- Close bank account
- Bank
- Bank users
- Transactions
- Accounts
- Bank balance
- Show user with most transactions
- Show user with highest balance
- Transactions occured between two given dates
- Find the date with most transactions
**Observation:** In order for the application flow to run correctly, register the users first.
## Running App
Build the project following the ```./gradlew build``` command.
You can run the application (a REST server) in your IDE by running class ```AtmApplication``` as Java Application or on the command line ```gradle wrapper run```.
## Documentation
The documentation for each ATM endpoint was done via **Swagger springdoc-openapi** and it can be found after running the application at the following
url ```http://localhost:8080/swagger-ui.html```
## Technology
- Java 17
- Spring Boot (3.0.1)
- Hibernate
- Spring Data JPA
- Lombok
- Unit test: Junit 5 + Mockito
- Documentation: Swagger springdoc-openapi
- Endpoints testing: Postman
- Build Tool: Gradle
- Database: PostgreSql
- IDE: IntelliJ