• Stars
    star
    1
  • Language
    Java
  • License
    GNU General Publi...
  • Created about 1 year ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple Banking Backend Application

Simple Banking Backend

A Simple Banking backend application implemented in Java 21 with Spring Boot 3.14.

This backend application provides simple banking operations like account creation, money transfer, etc.

The backend application serves from Simple Banking Backend End-Point.

Table of Contents

  1. How to Contribute
  2. Requirements
  3. Coding Standards
  4. Version Control Standards
  5. Running the Application Locally
  6. Running the Application in Docker
  7. Run Actuator
  8. Run Swagger UI
  9. Run RabbitMQ
  10. Extra Notes
  11. Copyright

How to Contribute

For the contributor covenant to this project, please check the Code of Conduct file.

Contributor Covenant

Credits

Please check the Contributors List to see who makes this open-source alive.

Requirements

For building and running the application belows are required;

Coding Standards

Below coding standards should be followed within the project;

  • Javadoc should be written for each class & method. @author, @since annotations should be added while adding or updating the javadoc
  • General code structure should be followed while adding or refactoring classes.

Version Control Standards

Below version control standards should be followed within the project;

Running the Application Locally

Application can be run with SimpleBankingBackendApplication class.

Alternatively you can use the Spring Boot Gradle plugin like so:

gradle clean build
gradle bootRun

Running the Application in Docker

Application can be run in Docker. Dockerfile in the project root folder is the configuration file for Docker build.

docker build -t simple-banking-backend:1.0.0 --build-arg APP_JAR=simple-banking-backend-1.0.0.jar .
docker run -p 8081:8081 --name SimpleBankingBackend simple-banking-backend:1.0.0

Note that you can specify the name of the APP_JAR argument based on the jar file that is generated by gradle. If the argument is not provided, it will pick the default name specified in the Dockerfile.

Run Actuator

Spring Boot Actuator can be reached from local url for Actuator.

Only health and caches endpoints are enabled by default. Configuration can be updated within the "actuator" section of the related application.properties file.

Run Swagger UI

Swagger UI can be reached from local url for Swagger UI and production url for Swagger UI.

Run RabbitMQ

RabbitMQ is used for messaging between services. It can be run with the following command after getting the image from Docker Hub;

docker run --name simple-banking-rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management

RabbitMQ management console can be reached from local URL for RabbitMQ management console. Default username and password are "guest".

You need to create a new queue from "Queues and Streams" from RabbitMQ management console.

img.png

Extra Notes

  • The module can be booted with Spring Cloud Config Server or directly within the application. In order to boot the project within itself, enable the properties in application.properties file and disable bootstrap.properties file.

Copyright

GNU General Public License v3.0 Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. Please check the LICENSE file for more details.