JavatoDev-com / internet-banking-concept-microservices

Internet Banking Concept Microservices
https://javatodev.com/building-microservices-with-spring-boot-free-course-with-practical-project/
MIT License
301 stars 173 forks source link
banking docker eureka free-course free-courses gateway hacktoberfest internet-banking-application internet-banking-concept java microservices microservices-architecture rabbitmq spring spring-boot spring-boot-microservices spring-cloud spring-cloud-gateway

CI For Concept Microservice

Internet Banking Concept With Java Spring Boot Microservices

This source code was developed for Java based microservices tutorial series from javatodev.com.

In this article series I’m going to explain using internet banking API concept with spring boot based microserices architecture. Initially I’ll develop the core API which will evolve as a full fledged REST API collection until deployments.

Releases

Installation

  1. Clone the repository:
$ git clone https://github.com/JavatoDev-com/internet-banking-concept-microservices.git
  1. Navigate to the docker-compose folder:
$ cd internet-banking-concept-microservices/docker-compose
  1. Start application using docker-compose:
$ docker-compose up -d

Docker Containers

Container IP Port Mapping
openzipkin_server 172.25.0.12 9411
keycloak_web 172.25.0.11 8080
keycloak_postgre_db 172.25.0.10 5432(Closed Port)
mysql_javatodev_app 172.25.0.9 3306
internet-banking-config-server 172.25.0.8 8090
internet-banking-service-registry 172.25.0.7 8081
internet-banking-api-gateway 172.25.0.6 8082
internet-banking-user-service 172.25.0.5 8083
internet-banking-fund-transfer-service 172.25.0.4 8084
internet-banking-utility-payment-service 172.25.0.3 8085
core-banking-service 172.25.0.2 8092

Postman Collection

Whole suite related postman collection can be sync using this URL.

Postman Collection

Clone this postman collection and switch to the LOCAL_DOCKER_SETUP Environment.

Test Data

By default we have dummy accounts details with user details under core-banking-database. Also the keycloak instance will deployed with default dataset matched to the application with all the realm, client and user data sets.

Proceed the testings with AUTHENTICATION API request under BANKING_CORE_MICROSERVICES COLLECTION.

Test Credentials : ib_admin@javatodev.com / 5V7huE3G86uB

Contribution

Microservices Inside This Project

Here this project consist of mainly 6 microservices and those are,

Base Project Architecture

<img align="center" src="https://javatodev.com/content/images/wordpress/2021/05/Microservices-Article-Banking-Core-Concept-1024x870.png" alt="Spring Boot Microservices Project Architecture By Javatodev.com"/>

Technology Stack

  1. Java 21
  2. Spring Boot 3.2.4
  3. Spring Cloud 2023.0.0
  4. Netflix Eureka Service Registry
  5. Netflix Eureka Service Client
  6. Spring Cloud API Gateway
  7. Spring Cloud Config Server
  8. Zipkin
  9. Spring Cloud Sleuth
  10. Open Feign
  11. RabbitMQ
  12. Prometheus
  13. MySQL
  14. Keycloak
  15. Docker / Docker Compose
  16. Kubernetes
  17. Keycloak

Article series

1. Building Microservices With Spring Boot – Free Course With Practical Project

2. Microservices – Service Registration and Discovery With Spring Cloud Netflix Eureka

3. Microservices – Setup API Gateway Using Spring Cloud Gateway

4. Microservices – Authentication, and Authorization With Keycloak

5. Microservices – Core Banking Service Implementation

6. Microservices – User Service Implementation

7. Microservices – Fund Transfer Service Implementation

8. Microservices – Utility Payment Service Implementation

9. Microservices – Communication With Spring Cloud OpenFeign

10. Microservices – Exception Handling

11. Microservices – Centralized Configurations With Spring Cloud Config

Author

Hi 👋, I'm Chinthaka Dinadasa

A Passionate Java Fullstack Developer from Sri Lanka and Author of JavatoDev.com