{"id":15091258,"url":"https://github.com/cata77/rest-api-atm-project","last_synced_at":"2026-01-05T02:04:54.494Z","repository":{"id":86021599,"uuid":"586493205","full_name":"Cata77/Rest-API-ATM-Project","owner":"Cata77","description":"Java Spring Boot Rest API ATM Project","archived":false,"fork":false,"pushed_at":"2024-03-05T19:09:06.000Z","size":205,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T10:47:54.830Z","etag":null,"topics":["gradle","hibernate","java","junit5","lombok","mockito","postgresql","rest-api","spring-boot","spring-data-jpa","swagger-specification"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cata77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-01-08T10:50:29.000Z","updated_at":"2023-08-21T09:20:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"cfe0b229-ad71-427f-9cce-7b06001b0deb","html_url":"https://github.com/Cata77/Rest-API-ATM-Project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cata77%2FRest-API-ATM-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cata77%2FRest-API-ATM-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cata77%2FRest-API-ATM-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cata77%2FRest-API-ATM-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cata77","download_url":"https://codeload.github.com/Cata77/Rest-API-ATM-Project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244945594,"owners_count":20536295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","hibernate","java","junit5","lombok","mockito","postgresql","rest-api","spring-boot","spring-data-jpa","swagger-specification"],"created_at":"2024-09-25T10:36:46.347Z","updated_at":"2026-01-05T02:04:54.455Z","avatar_url":"https://github.com/Cata77.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java Spring Boot Rest API ATM Project\n The application simulates the usage of an ATM via REST API calls. It aims to provide the user with bank operations and \nto keep a record of customer transactions in a database.\n\n## Functionality\nThe ATM offers three sets of operatons:\n\n- Authentication\n\n  - Register\n  \n  - Login\n\n- User\n\n  - Deposit\n  \n  - Withdraw\n  \n  - Transfer (to another bank user)\n  \n  - Bank account details\n  \n  - Bank statement for a certain date\n  \n  - Close bank account\n  \n- Bank\n\n  - Bank users\n  \n  - Transactions\n  \n  - Accounts\n  \n  - Bank balance\n  \n  - Show user with most transactions\n  \n  - Show user with highest balance\n  \n  - Transactions occured between two given dates\n  \n  - Find the date with most transactions\n  \n **Observation:** In order for the application flow to run correctly, register the users first.\n \n ## Running App\nBuild the project following the ```./gradlew build``` command.\n\nYou 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```.\n \n ## Documentation\n The documentation for each ATM endpoint was done via **Swagger springdoc-openapi** and it can be found after running the application at the following\n url ```http://localhost:8080/swagger-ui.html```\n \n ## Technology\n \n - Java 17\n \n - Spring Boot (3.0.1)\n \n - Hibernate \n \n - Spring Data JPA\n \n - Lombok\n \n - Unit test: Junit 5 + Mockito\n \n - Documentation: Swagger springdoc-openapi\n \n - Endpoints testing: Postman\n \n - Build Tool: Gradle\n \n - Database: PostgreSql\n \n - IDE: IntelliJ\n  \n  \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcata77%2Frest-api-atm-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcata77%2Frest-api-atm-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcata77%2Frest-api-atm-project/lists"}