Giter VIP home page Giter VIP logo

bankingsystem-backend's Introduction

BankingSystem-Backend

Accounting System

Technology Used: Java, Spring, Spring Batch, Spring Security, PostgreSQL, Microservices, Maven, JUnit, Liquibase,Fast2SMS

Functionalities:

⦁ Spring: Forms the Outline of Whole project.

⦁ Spring Security: Basic Authentication mechanism on login and Token Based Authentication for every subsequent call from the User Interface.

⦁ Junit: Unit Testing and Integration Testing available for Online Customer System.

⦁ Spring Batch: As there are scenarios where payments needs to be done on any scheduled date and multiple Transaction to be done in a single day(Eg. payment of Salaries), I have used Spring batch to ease up the Stress on the application environment.

⦁ Liquibase: Used for Managing database Entries.

Working of Every Module:

Backoffice System:

  1. Admin would have two roles -Capturer and Authoriser.
  a.  Capturer would be responsible for feeding the details of prospect customer into the System,
      and change the Details of Customer whenever requested by the Authoriser.
  
  b.  Authoriser would be able to approve or decline the request of Account creation submitted
      by the capturer. Once Approved, the Customer account will be created along with 
      Unique Account Number and credentials for login would be sent to the Phone number of 
      Account holder.If Authoriser Decline the Request providing the reason for 
      Disapproval of account, it would be sent back to Capturer for getting the data updated.
  
  c.  Both the Capturer and Authhoriser would be able to login using their own crentials,
      which needs to be manually entered into the database at this point of time.
  

BankData:

1.   BankData is a jar which which is used in other three projects. 

     It contains the Common functionalities across the project and thus,  
     
     It can be used in all the project as a library.
     
     BankData is based on following DRY(Do not repeat Yourself) principle.

OnlineBanking:

  1. This Module is for Customer Facing Application. In this Customer would be able to perform many functions.Eg.
a. Login into their own account using credentials received through SMS.

b. Check the Balance on their Account.

c. View Transaction History on all the Transaction Done till the current date.

d. Schedule a Transaction(Future-Dated)

TransactionScheduling:

 1.   This Module is a Spring Batch Application which runs in the background, 
 
      and process the future dated Transaction. There is a Cron Job running every 40 seconds
 
      which which the data which needs to be processed. It will complete the job and
      
      write the transaction log to the database.

Thank You!

bankingsystem-backend's People

Contributors

saurabh-sudo 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

Watchers

 avatar  avatar  avatar  avatar

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.