This project aims to provide APIs for several banking operations.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This project is built using Maven. Make sure to have maven installed on your machine.
For deploying containerized image, you would need docker installed on your machine.
You would need Java 1.8 or above.
A step by step series of examples that tell you how to get a development env running
Create a folder on your local machine
mkdir banking-app
cd banking-app
Download the code in newly created folder by cloning this repo.
git clone https://github.com/mgonawala/blue-harvest.git
It can be build using either mvn or mvn wrapper or Docker
use one of the below commands for building using Maven.
mvn clean install
./mvnw clean install ( use this if you don't have maven on your machine)
On a successful completion of build you should see something like below
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:43 min
[INFO] Finished at: 2019-07-31T18:30:24+05:30
[INFO] Final Memory: 53M/508M
[INFO] ------------------------------------------------------------------------
This will generate an executable jar file which can be found under target folder (account-0.0.1-SNAPSHOT.jar)
Jacoco code coverage report can be found under target folder
target/site/jacoco/index.html
To evaluate project using Sonar use below command. Change Sonar host url to your sonar sever.
sonar:sonar -Dsonar.host.url=http://localhost:9000
Docker image can be build by below command.
docker build -t blueharvest/banking-app:latest .
These steps let you deploy app on your local machine. Once deployed head to http://localhost:8585/swagger-ui.html to get a view of all the exposed APIs & it's structure.
Port can be changed from application.properties file. Just change below property in application.properties file, rebuild & deploy.
server.port=8585
Use any of below commands to deploy the app & get going.
java -jar target/account-0.0.1-SNAPSHOT.jar
mvn spring-spring:run
docker run -d --name blueharvest/banking-app:latest -p 8585:8585
You should be able to access the app on http://localhost:8558/api/v1/
Below is a list of Dependencies used in this project.
- Spring Boot version - 2.1.6.RELEASE
- Swagger 2 - 2.6.1
- Maven check style plugin - 3.1.0
- jacoco-maven-plugin - 0.8.4
- hsqldb
- Java version 1.8
This app is deployed on Heroku cloud. Live URL: https://blue-harvest-mohini.herokuapp.com/swagger-ui.html
Application makes use of Continuous Integration/Deployment with the help of Travis/ GitHub /Heroku.
Any commit to GitHub repo will trigger a build on Travis. After which it will be deployed on Heroku APP. It's also been integrated with Sonar Cloud. Result of Sonar analysis can be found on below URL. Sonar URL : https://sonarcloud.io/organizations/blue-harvest/projects
Please look at api.md file for detailed API description.