Skip to content

Instantly share code, notes, and snippets.

@manigedit
Last active September 2, 2020 13:13
Show Gist options
  • Save manigedit/bca72537151afde40a3246776cb22503 to your computer and use it in GitHub Desktop.
Save manigedit/bca72537151afde40a3246776cb22503 to your computer and use it in GitHub Desktop.
Online Banking App 4.0 Report

Google Summer of Code 2020 Report

gsoc-mifos

Organisation: The Mifos Initiative

Project Name: Online Banking App 4.0

Mentor: Ankit Ojha

Commits made during GSoC: Link

Overview of Project:

  • Online Banking App is the customer facing web-app which currently utilizes Self Service APIs to let the users interact with their own data such as view/transact on the loans they hold, view beneficiaries, check charges etc.

During this GSoC period, I brought up a revamp of web-self-service app from scratch on top of the latest Angular framework (Angular CLI 9 ).

Project Implementations

  • Setup Project Architecture PR link

    • The project was generated with latest stable version of Angular CLI (9.1.7). The Project structure aims to promote refactored structure alongwith respecting the DRY and SRP paradigms.
    • The module structure is crafted as such that there is least overhead work when we want a dependency upgrade / Angular version upgrade.
    • The App currently utilizes Angular Material components, promoting a better UX and UI response.
    • Authentication and Authorization are handled by proper shell component activated by Authentication Guard.
  • Login UI and API Integration PR link

    • This features allows self service users to authentication with the self/authentication endpoint. Login-Screencast-from-Tuesday-16-June
  • Dashboard UI and API Integration PR link

    • After successful login of a self service user,the user is directed to a dashboard screen where he can see the summary of his balance, total loan, summary of accounts with pie chart. home_dashboard

    • Good to Have: A Graph of transaction summary

  • Accounts Component UI and API Integration PR link(common)

    • Accounts component consists of three tabs with list of savings, loan and shares accounts.
    • The Accounts list has pagination and filter functionality

    ezgif com-video-to-gif(2)

  • Recent transactions Component UI and API Integration PR link(common)

    • This functionality allows users to view a list of their recent transactions. This table also has filter and pagination functionality. image
  • Charges component UI and API Integration PR link(common)

    • This page shows a list of charges incurred to the client. The charges reflected may be automated and also manually created by the staff from the staff facing app. charges
  • Transfers component UI PR link(common)

    • This component allows users to transfer money among their own accounts. ezgif com-video-to-gif(1)
    • Work left: The App still lacks a complete API wiring for the transfers component and will hopefully utilize Open Banking APIs ( which wasn't much clearly available).
  • Third Party Transfer component UI PR link(common)

    • This component allows users to transfer money from their own accounts to their registered benificiaries. image

    • Work left: Utilize Open Banking APIs to complete the flow.

  • Benificiaries component UI PR link(common)

    • This component has similar UI to charges/recent transactions component i.e. a list of benificiaries alongwith pagination and filter.

Other Works

My GSoC Experience with Mifos Initiative

The community taught me a lot and my project helped me to boost my confidence because this was the first time where I had to start a project from scratch that too in a framework with no prior experience. A million thanks to Edward Cable for the golden oppurtunity and Ankit Ojha for his supportive guidance and the communty members for extending their help whenever I needed.

I am really looking forward to continue with Mifos Initiative and particularly bring up the online banking app to a release version (that's something I want for my self satisfaction).. Looking forward to contribute and collaborate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment