{"id":21952053,"url":"https://github.com/systangotechnologies/bankofspring","last_synced_at":"2025-02-28T07:09:41.123Z","repository":{"id":62336233,"uuid":"138581540","full_name":"SystangoTechnologies/BankOfSpring","owner":"SystangoTechnologies","description":"Production ready maven based Spring Boot starter kit application with example cases of handling transactions with Spring.","archived":false,"fork":false,"pushed_at":"2024-08-26T16:58:59.000Z","size":98,"stargazers_count":58,"open_issues_count":1,"forks_count":33,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-21T06:06:39.552Z","etag":null,"topics":["docker","h2-database","java-docker-optimization","java8","java8-learning","serverless","serverless-boilerplate","serverless-ruby","spring","spring-api","spring-boot","spring-data-jpa","spring-rest","springboot","springboot-sample","springboot2","springbootdemo","springbootlearning","transaction-management"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SystangoTechnologies.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"publiccode":null,"codemeta":null}},"created_at":"2018-06-25T10:46:29.000Z","updated_at":"2025-02-09T16:38:45.000Z","dependencies_parsed_at":"2025-01-02T19:15:44.735Z","dependency_job_id":"a19fae68-5753-4e2b-a377-86077bca97db","html_url":"https://github.com/SystangoTechnologies/BankOfSpring","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":0.07692307692307687,"last_synced_commit":"e09bc0312e726bec2d555e1f4593813312c68a8a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2FBankOfSpring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2FBankOfSpring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2FBankOfSpring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2FBankOfSpring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SystangoTechnologies","download_url":"https://codeload.github.com/SystangoTechnologies/BankOfSpring/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241115496,"owners_count":19912241,"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":["docker","h2-database","java-docker-optimization","java8","java8-learning","serverless","serverless-boilerplate","serverless-ruby","spring","spring-api","spring-boot","spring-data-jpa","spring-rest","springboot","springboot-sample","springboot2","springbootdemo","springbootlearning","transaction-management"],"created_at":"2024-11-29T06:19:42.166Z","updated_at":"2025-02-28T07:09:41.096Z","avatar_url":"https://github.com/SystangoTechnologies.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![BankOfSpring](https://github.com/SystangoTechnologies/BankOfSpring/blob/master/src/main/resources/images/logo.png)\n\n## BankOfSpring\nProduction ready maven based Spring Boot starter kit application with example cases of handling transactions with Spring.\n\n## Description\nStarter kit for booting up the development of a API oriented and transaction based spring Java server. It contains the best practices and latest tools that a spring boot developer should opt for in a fresh development. Since JPA is used, developers are free to opt for any SQL based DB engine for persistence (H2 has been used as an example with this project). The preferred IDE for development is IntelliJ which comes with a plethora of useful JAVA tools to support Spring Boot development, but developers are free to opt for Eclipse or STS as well. The focus in this project is solely upon the SpringBoot development with business cases involving transactions and writting proper unit and integration tests for them.\n\n## Technology\n\n- **Spring Boot**     - Server side framework\n- **JPA**             - Entity framework\n- **Lombok**          - Provides automated getter/setters\n- **Actuator**        - Application insights on the fly\n- **Spring Security** - Spring's security layer\n- **Thymeleaf**       - Template Engine\n- **Devtools**        - Support Hot-Code Swapping with live browser reload\n- **JJWT**            - JWT tokens for API authentication\n- **Swagger**         - In-built swagger2 documentation support\n- **Docker**          - Docker containers\n- **Junit**           - Unit testing framework\n- **H2**              - H2 database embedded version\n\n## Application Structure\n\n## Running the server locally\nThe BankOfSpring application can be started using your favourite IDE and its run configuration support. If you are a terminal savvy, please use the following command -\n\n````\nmvn spring-boot:run\n````\n\n## Docker\nBankOfSpring supports docker container out of the box. This boilerplate is meant to cater to both web based applications as well as scalable micro services written in Java. Please select one of the following two ways to use docker to build and run the application -\n\n**Dockerfile**\n\nTo build a fresh image, use -\n````\ndocker build -t bankofspring .\n````\nTo run the new image, use -\n````\ndocker run -p 8080:8080 bankofspring\n````\n\n**Docker-Compose**\n\nTo build a fresh image, use -\n````\ndocker-compose build\n````\nTo run the new image, use -\n````\ndocker-compose up\n````\n\n## Swagger Documentation\nSwagger documentation is in-built in this starter-kit and can be accessed at the following URL -\n````\nhttp://\u003chost-name\u003e:8080/swagger-ui.html\n````\n\n## Unit test cases\nThere are multiple unit test cases written to cover the different components of the application. However there is a global application test suite file _**BankOfSpringApplicationUnitTests.java**_ that combines all the test cases in a logical manner to create a complete suite. It can be run from command prompt using the following command -\n\n````\nmvn clean test -Dtest=BankOfSpringApplicationUnitTests\n````\n\n## Integration test cases\nThere are multiple integration test cases written to cover the different components of the application. However there is a global application test suite file _**BankOfSpringApplicationTests.java**_ that combines all the test cases in a logical manner to create a complete suite. It can be run from command prompt using the following command -\n\n````\nmvn clean test -Dtest=BankOfSpringApplicationTests\n````\n\n## Contributors\n[Arpit Khandelwal](https://www.linkedin.com/in/arpitkhandelwal1984/)\n\n## License\nThis project is licensed under the terms of the MIT license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystangotechnologies%2Fbankofspring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystangotechnologies%2Fbankofspring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystangotechnologies%2Fbankofspring/lists"}