Coder Social home page Coder Social logo

systangotechnologies / bankofspring Goto Github PK

View Code? Open in Web Editor NEW
51.0 4.0 32.0 96 KB

Production ready maven based Spring Boot starter kit application with example cases of handling transactions with Spring.

License: MIT License

Java 99.75% Dockerfile 0.25%
springboot springboot2 springboot-sample springbootlearning springbootdemo spring transaction-management java8 java8-learning h2-database

bankofspring's Introduction

BankOfSpring

BankOfSpring

Production ready maven based Spring Boot starter kit application with example cases of handling transactions with Spring.

Description

Starter 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.

Technology

  • Spring Boot - Server side framework
  • JPA - Entity framework
  • Lombok - Provides automated getter/setters
  • Actuator - Application insights on the fly
  • Spring Security - Spring's security layer
  • Thymeleaf - Template Engine
  • Devtools - Support Hot-Code Swapping with live browser reload
  • JJWT - JWT tokens for API authentication
  • Swagger - In-built swagger2 documentation support
  • Docker - Docker containers
  • Junit - Unit testing framework
  • H2 - H2 database embedded version

Application Structure

Running the server locally

The 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 -

mvn spring-boot:run

Docker

BankOfSpring 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 -

Dockerfile

To build a fresh image, use -

docker build -t bankofspring .

To run the new image, use -

docker run -p 8080:8080 bankofspring

Docker-Compose

To build a fresh image, use -

docker-compose build

To run the new image, use -

docker-compose up

Swagger Documentation

Swagger documentation is in-built in this starter-kit and can be accessed at the following URL -

http://<host-name>:8080/swagger-ui.html

Unit test cases

There 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 -

mvn clean test -Dtest=BankOfSpringApplicationUnitTests

Integration test cases

There 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 -

mvn clean test -Dtest=BankOfSpringApplicationTests

Contributors

Arpit Khandelwal

License

This project is licensed under the terms of the MIT license.

bankofspring's People

Contributors

arpitkhandelwal1984 avatar pallav-systango avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bankofspring's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.