Open DavidH-1 opened 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.
Hi @DavidH-1, I would like to work on this project. I am familiar with Java, RestApis and Spring framework.
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.
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.
[ ] @startuml actor "User" as channel participant "PISP APP" as sdk participant "Email" as mojaloop participant "App Service" as serv channel -> sdk: Click Register sdk --> channel: Show registeration screen channel -> sdk: Enter name and email, click Submit sdk -> serv: Registeration request serv -> serv: Check existing user\nGenerate OTP\nSend OTP serv -> mojaloop: OTP sent sdk --> channel: Ask OTP channel --> mojaloop: Retrieve OTP channel -> sdk : Enter OTP sdk -> serv: Verify OTP serv -> serv: OTP Verified\nAccount Created sdk -> channel: Registration Successful @enduml
[ ] @startuml actor "User" as channel participant "PISP APP" as app participant "App Service" as serv participant "Bank" as bnk channel -> app: Click Login app --> channel: Show login screen channel -> app: Enter eamil and password,\nclick Login app -> serv: Login request serv -> serv: Check existing user\nverify email\nverify password serv --> app: Login Validated app -> channel: Home Page app --> channel: Select Bank\nDropdown List channel -> app: Bank Selected\nIFSC code entered\nAccount Number entered\nUser Name entered app --> serv: Banking Details Passed \non for Bank verification serv-> bnk:Request verification \nfor user details.\nRequest Linking bnk-> bnk: User Verification bnk --> channel: OTP sent for linking process bnk-> serv: One time password sent\nfor linking process serv-->app: Request OTP for \nlinking account app -> channel: Request OTP channel -> app: OTP Sent app-->serv: OTP Sent serv -> bnk: OTP Sent for verification bnk->bnk: Verify OTP bnk -> serv: OTP verified\nConnection established serv-> app: Bank account linked. app-> channel: Bank account linked\nfor transaction @enduml
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