Giter VIP home page Giter VIP logo

supreetgandhi / spring-boot-microservices-banking-application Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kartik1502/spring-boot-microservices-banking-application

0.0 0.0 0.0 451 KB

๐ŸŒ Welcome to the Spring Boot Microservices Banking App! Explore user registration, account management, fund transfers, and transactions. ๐Ÿš€ With a robust Service Registry and API Gateway, dive into seamless integration. Follow our guide to configure microservices and unleash the power of this banking marvel.

Java 99.89% Dockerfile 0.11%

spring-boot-microservices-banking-application's Introduction

๐ŸŒŸ Spring-Boot-Microservices-Banking-Application ๐ŸŒŸ

๐Ÿ“‹ Table of Contents

๐Ÿ” About

The Banking Application is built using a microservices architecture, incorporating the Spring Boot framework along with other Spring technologies such as Spring Data JPA, Spring Cloud, and Spring Security, alongside tools like Maven for dependency management. These technologies play a crucial role in establishing essential components like Service Registry, API Gateway, and more.

Moreover, they enable us to develop independent microservices such as the user service for user management, the account service for account generation and other related functionalities, the fund transfer service for various transfer operations, and the transaction service for viewing transactions and facilitating withdrawals and deposits. These technologies not only streamline development but also enhance scalability and maintainability, ensuring a robust and efficient banking system.

๐Ÿ›๏ธ Architecture

  • Service Registry: The microservices uses the discovery service for service registration and service discovery, this helps the microservices to discovery and communicate with other services, without needing to hardcode the endpoints while communicating with other microservices.

  • API Gateway: This microservices uses the API gateway to centralize the API endpoint, where all the endpoints have common entry point to all the endpoints. The API Gateway also facilitates the Security inclusion where the Authorization and Authentication for the Application.

  • Database per Microservice: Each of the microservice have there own dedicated database. Here for this application for all the microservices we are incorparating the MySQL database. This helps us to isolate each of the services from each other which facilitates each services to have their own data schemas and scale each of the database when required.

๐Ÿš€ Microservices

  • ๐Ÿ‘ค User Service: The user microservice provides functionalities for user management. This includes user registration, updating user details, viewing user information, and accessing all accounts associated with the user. Additionally, this microservice handles user authentication and authorization processes.

  • ๐Ÿ’ผ Account Service: The account microservice manages account-related APIs. It enables users to modify account details, view all accounts linked to the user profile, access transaction histories for each account, and supports the account closure process.

  • ๐Ÿ’ธ Fund Transfer Service: The fund transfer microservice facilitates various fund transfer-related functionalities. Users can initiate fund transfers between different accounts, access detailed fund transfer records, and view specific details of any fund transfer transaction.

  • ๐Ÿ’ณ Transactions Service: The transaction service offers a range of transaction-related services. Users can view transactions based on specific accounts or transaction reference IDs, as well as make deposits or withdrawals from their accounts.

๐Ÿš€ Getting Started

To get started, follow these steps to run the application on your local application:

  • Make sure you have Java 17 installed on your system. You can download it from the official Oracle website.
  • Select an Integrated Development Environment (IDE) such as Eclipse, Spring Tool Suite, or IntelliJ IDEA. Configure the IDE according to your preferences.
  • Clone the repository containing the microservices onto your local system using Git. Navigate to the directory where you have cloned the repository.
  • Navigate to each microservice directory within the cloned repository and run the application. You can do this by using your IDE or running specific commands depending on the build tool used (e.g., Maven or Gradle).
  • Set up Keycloak for authentication and authorization. Refer to the detailed configuration guide provided here for step-by-step instructions on configuring Keycloak for your microservices.
  • Some microservices and APIs may depend on others being up and running. Ensure that all necessary microservices and APIs are up and functioning correctly to avoid any issues in the application workflow.

๐Ÿ“– Documentation

๐Ÿ“– API Documentation

For a detailed guide on API endpoints and usage instructions, explore our comprehensive API Documentation. This centralized resource offers a holistic view of the entire banking application, making it easier to understand and interact with various services.

๐Ÿ“š Java Documentation (JavaDocs)

Explore the linked Java Documentation to delve into detailed information about classes, methods, and variables across all microservices. These resources are designed to empower developers by providing clear insights into the codebase and facilitating seamless development and maintenance tasks.

โŒš Future Enhancement

As part of our ongoing commitment to improving the banking application, we are planning several enhancements to enrich user experience and expand functionality:

  • Implementing a robust notification system will keep users informed about important account activities, such as transaction updates, account statements, and security alerts. Integration with email and SMS will ensure timely and relevant communication.
  • Adding deposit and investment functionalities will enable users to manage their savings and investments directly through the banking application. Features such as fixed deposits, recurring deposits, and investment portfolio tracking will empower users to make informed financial decisions.
  • and more....

๐Ÿค Contribution

Contributions to this project are welcome! Feel free to open issues, submit pull requests, or provide feedback to enhance the functionality and usability of this banking application. Follow the basic PR specification while creating a PR.

Let's build a robust and efficient banking system together using Spring Boot microservices!

Happy Banking! ๐Ÿฆ๐Ÿ’ฐ

๐Ÿ“ž Contact Information

If you have any questions, feedback, or need assistance with this project, please feel free to reach out to me:

WhatsApp GMAIL

We appreciate your interest in our project and look forward to hearing from you. Happy coding!

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.