Giter Site home page Giter Site logo

javatodev-com / internet-banking-concept-microservices Goto Github PK

View Code? Open in Web Editor NEW
239.0 8.0 147.0 474 KB

Internet Banking Concept Microservices

Home Page: https://javatodev.com/building-microservices-with-spring-boot-free-course-with-practical-project/

License: MIT License

Java 99.72% Dockerfile 0.28%
spring-boot spring-cloud-gateway banking internet-banking-concept internet-banking-application spring-boot-microservices eureka gateway java microservices

internet-banking-concept-microservices's Introduction

Java CI with Gradle

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.

Microservices Inside This Project

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

  • User service (banking-core-user-service) – This service includes all the operations under the User such as registrations and retrieval. Additionally, this API consumes keycloak REST API to register and manage the user base while using the local PostgreSQL database as well.
  • Fund transfer service (banking-core-fund-transfer-service) – This is the service that handles all the fund transfers between accounts and this API will push messages to a centralized RabbitMQ queue to use from the Notification service.
  • Payment service (banking-core-payments-service) – This service will include all the API endpoints to process Utility payments in this project and that will push notification messages to RabbitMQ as well.
  • Notification service – This API is registered under the service registry but consumes all the messages from RabbitMQ and pushes necessary notifications to the end users.
  • Banking core service – This is the banking core service that acts as a dummy banking core with accounts, users, transaction details, and processors for banking transactions.

Base Project Architecture

Spring Boot Microservices Project Architecture By Javatodev.com

Technology Stack

  1. Java 11
  2. Spring Boot 2.4.5
  3. Netflix Eureka Service Registry
  4. Netflix Eureka Service Client
  5. Spring Cloud API Gateway
  6. Spring Cloud Config Server
  7. Zipkin
  8. Spring Cloud Sleuth
  9. Open Feign
  10. RabbitMQ
  11. Prometheus
  12. Jitpack
  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

spbootdeveloper

internet-banking-concept-microservices's People

Contributors

chinthaka-dinadasa avatar javatodev 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  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  avatar  avatar  avatar  avatar

internet-banking-concept-microservices's Issues

Permit all doesnt work

When i try the code http://localhost:8090/user/api/v1/user-bank/register just send 200 ok response but un blank, others endpoints works fine

i think the problema is in SecurityConfiguration

some configuration is missing but i dont know where.

@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
        http
                .authorizeExchange()
                //ALLOWING REGISTER API FOR DIRECT ACCESS
                .pathMatchers("/user/api/v1/user/register").permitAll()
                //ALL OTHER APIS ARE AUTHENTICATED
                .anyExchange().authenticated()
                .and()
                .csrf().disable()
                .oauth2Login()
                .and()
                .oauth2ResourceServer()
                .jwt();
    return http.build();

image

Package com.javatodev.finance.rest is missing

In the internet-banking-user-service project you refer some classes (BankingCoreFeignClient and UserResponse) to the package
com.javatodev.finance.rest.*, but this pacakage doesn't exists

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.