openMF / pisp-app

Repository for app for third party payment initiation use cases (PISP, Open Banking, 3PPI)
Apache License 2.0
5 stars 5 forks source link

[DMP 2024]: Open Banking/PISP Fintech App Framework Version 3.0 #5

Open DavidH-1 opened 7 months ago

DavidH-1 commented 7 months ago

Ticket Contents

Description

Across our ecosystem we're seeing more and more adoption and innovation from fintechs. A huge democratizing force across the financial services sector is the Open Banking movement providing Open Banking APIs to enable third parties to directly interact with customers of financial institutions. We have recently started providing an Open Banking API layer that will allow financial institutions using Mifos and Fineract to offer third parties access to requesting account information and initiating payments via these APIs. Most recently the Mojaloop community, led by Google, has led the development of a centralized PISP API for 3PPI (3 Party Payment Initiation) To demonstrate these Open Banking APIs and use cases that third parties and fintechs can provide we have developed a cross-platform reference mobile app on Kotlin to showcase a number of these features. It currently connects with the mock data layer - this project would extend upon that app framework to consume Mojaloop 3PPI/PISP APIs. This app showcases the financial services that can be made possible when an individual has access to digital financial services through digital public infrastructure provide by Mifos DPGs. The breadth and variety of apps that could be built leveraging these APIs from region to region is endless. We would like this app to be built in an extensible and modular fashion such that core libraries and components could be re-used across different use cases with this framework as the foundation and multiple reference apps on top. Applications include personal financial management apps aggregating information from multiple bank accounts in one place, wallet apps allowing payments to be made from different banks, lending apps, leveraging data and insight from multiple accounts, savings apps, etc. Roadmap: UI Design: Following the Google Whitepaper, I created Figma Mocups prototype to develop UI screens and components for both Android and iOS platforms. Backend Development: Based on available resources, the immediate priority is to create a robust backend system capable of seamlessly consuming Mojaloop 3PPI SDK endpoints. Transitioning to Real-Time Data: We will replace the temporary mock data layer with a production-ready API and refactor any shortcomings to ensure real-time data interaction. Documentation: Documentation will include reference guides for the 3PPI API specifically for PISP participants as well as diagrams illustrating the system architecture.

Goals & Mid-Point Milestone

Goals

Setup/Installation

No response

Expected Outcome

Intern would work on refining the initial architecture of the framework, the UI and user experience, core use cases including customer authentication and onboarding that was implemented in 2020 and integrating with the Fineract Open Banking APIs and Mojaloop PISP APIs to demonstrate use cases around account information request and payment initiation.

Adding PISP capability to Mifos mobile applications helps to advance DPI as it’s a powerful way to demonstrate other transaction flow and financial services that can be unlocked once an underbanked individual is equipped with a digital wallet powered by Mifos. This would be a continuation of the project worked on in 2023 where Lakhwinder Singh implemented the following: Project reshaping with where a new Kotlin architecture for the PISP app defined Deployment of Mojaloop with third party support and ensuant testing of this with Mojaloop Testing Toolkit and deployment of Mojaloop Third Party SDK adapter Implementation of mock data layer Development of UI mockups via Figma.

Our desired outcome is to have a stand-alone reference third party fintech app that demonstrates 3rd party initiation/ Open Banking APIs or in this case Mojaloop PISP APIs. The app itself would need its own separate user management, etc but then it would pull in data by authorizing consent via the Mojaloop 3PPI/PISP API to pull in transactional data from a mifos/fineract account and most importantly we’d want to use this reference fintech app to demonstrate the use of Mojaloop/Google 3PPI PISP APIs whereby a user could authorize and establish consent across any bank participating in a mojaloop switch to the fintech to initiate transactions through mojaloop via their accounts managed in Mifos/Fineract Aggregating account information across multiple banks/financial institution Initiating payments across multiple financial institutions Integrate with additional Fineract Open Banking APIs Integrate with Mojaloop PISP APIs. Leverage completed components of UI library

Acceptance Criteria

No response

Implementation Details

Source code: https://github.com/openMF/pisp-app Figma Design Mockups: https://www.figma.com/proto/ZkQJHzXWfjZugpTtz1MFdt/Mifos-PISP-App?node-id=10-27&starting-point-node-id=101%3A32&scaling=scale-down&t=vtBsVklbforA4MiB-1 Previous Development: 2023 Mifos Summer of Code Final Report - https://gist.github.com/lssarao/fc1293ad3c36d51317358348323b80c0 2020 Google Summer of Code Final Report - https://gist.github.com/ankurs287/4ef7c3de462073bf36bd5247479cb176 Google Whitepaper on 3PPI: https://static.googleusercontent.com/media/nextbillionusers.google/en//tools/3PPI-2021-whitepaper.pdf UK Open Banking API Standard: https://standards.openbanking.org.uk/ Open Banking Developer Zone: https://openbanking.atlassian.net/wiki/spaces/DZ/overview Examples of Open Banking Apps: https://www.ft.com/content/a5f0af78-133e-11e9-a581-4ff78404524e

Mockups/Wireframes

No response

Product Name

Open Banking/PISP Fintech App Framework

Organisation Name

The Mifos Initiative

Domain

Financial Inclusion

Tech Skills Needed

Java, JavaScript, RESTful APIs, Spring Boot, Other

Mentor(s)

@edcable

Category

Backend, Mobile

AbhimanyuSamagra commented 7 months ago

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project.

renuka010 commented 6 months ago

Hi @DavidH-1, I would like to work on this project. I am familiar with Java, RestApis and Spring framework.

DavidH-1 commented 6 months ago

Hi @renuka010 that is great. Please see the comment above from @AbhimanyuSamagra on how to apply. Do you have any technical questions you need support on? We have also setup a channel in Mifos Slack to answer technical questions #C4GT-mojafos-2024 where we have answered several questions already that may help you.

AieshaShetty commented 6 months ago

Hi, @DavidH-1 , I would love to contribute to this project. My tech stack includes Java, Spring Boot, Jpa. I also have some issues in setting up and would need a couple of days to figure out and I'll be reaching out to you soon in Mifos Slack for further tech-related doubts. I have also been a mentee at C4GT'23 and I have integrated java-jwt for enhancing security and authorization.

karimjindani commented 4 months ago

Weekly Goals

Week 1

Week 2

Week 3

PalakMishra-eq commented 4 months ago

Task Completion Update

Week 1

Week 2

Week 3

PalakMishra-eq commented 4 months ago

image

PalakMishra-eq commented 4 months ago

image image

PalakMishra-eq commented 4 months ago

https://drive.google.com/file/d/1H7cpG94oRSj3zOhRsu6Gx-9w3kIkieJK/view?usp=sharing

PalakMishra-eq commented 2 months ago

https://github.com/PalakMishra-eq/SudoMifos/branches