Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DMP 2024]: Mifos Mobile 6.0 - Mobile Banking App #2656

Open
therajanmaurya opened this issue Jul 10, 2024 · 2 comments
Open

[DMP 2024]: Mifos Mobile 6.0 - Mobile Banking App #2656

therajanmaurya opened this issue Jul 10, 2024 · 2 comments
Assignees
Labels

Comments

@therajanmaurya
Copy link
Member

therajanmaurya commented Jul 10, 2024

Description

Mifos Mobile is a reference mobile banking app which enables clients to authenticate themselves, view and edit their account details. and make repayments or transactions between their own accounts. It is now possible for any financial institution using Mifos to provide an omni-channel banking experience including smartphone-based mobile banking, USSD-based mobile banking, and online banking via a web app.
Over the years our interns extended our mifos mobile banking app, completing a mix of functional, architectural, and design improvements including improving the outbound notification system by migrating from GCM to FCM, initial integration with RocketChat for direct customer support between staff and clients, a dark theme and better support for skinning, and phase 1 of integration with Mojaloop via the payment hub. In 2020 Shivangi revamped the UI and Ashwin began the migration to Kotlin for mutli-platform development.
With the payment hub and API Gateway now in place, next we look to add additional mobile money and payment system integrations into the app as well as having the app connect via the Open Banking API rather than the self-service APIs. This exercise of mapping the Fineract self-service APIs to the Open Banking APIs will be the major focus of this project.
It was built on top of the Apache Fineract 1.x client-facing APIs to enable self-service channels for clients to interact with their own data and transact in a self-service manner.

Goals & Mid-Point Milestone

Goals

  • Migrate from xml to jetpack compose.
  • Migrate Fragment navigation graph to navigation compose.
  • Migrate from Rxjava2 to coroutines to make netwrok layer cleaner.
  • During the compose migration, split feature into separate module to make it multi-module kotlin
  • Add support to KMP - Kotlin multi-platform
  • Continue adding unit tests for Data Layer and UI Layer
  • Cover all the screens with UI tests
  • Implemented Playstore release github action pipeline
  • Improve Githhub workflows and add jobs to run Unit and UI tests
  • Add CI to build APK and code analysis

Expected Outcome

Final outcome of this project should be a deployable and demonstrable mifos mobile app.

Acceptance Criteria

No response

Implementation Details

Migrate xml to Jetpack compose
Basic implementation of Kotlin multi-platform

Mockups/Wireframes

No response

Product Name

Mifos Mobile

Organisation Name

The Mifos Initiative

Domain

Financial Inclusion

Tech Skills Needed

Java, Material-UI, RESTful APIs, Other

Mentor(s)

@therajanmaurya

Category

Mobile

@therajanmaurya
Copy link
Member Author

therajanmaurya commented Jul 10, 2024

Weekly Goals:

Week 1

  • Understand and set up the project environment.
  • Learn the basics of Jetpack Compose.
  • Migrate screens from XML to Jetpack Compose.
  • Implement SwipeRefreshLayout, TabRow, and ViewPager in Jetpack Compose.

Week 2

  • Continue migrating screens from XML to Jetpack Compose.
  • Resolve any bugs encountered during the migration.
  • Implement a DialogBox in Jetpack Compose.
  • Implement search and filter functionality in Lazy Column.

Week 3

  • Migrate additional screens from XML to Jetpack Compose.
  • Implement multi-modularization for a module in Android.
  • Resolve filter issues in the Accounts screen.

Week 4

  • Focus on resolving project bugs.
  • Continue migrating screens from XML to Jetpack Compose.
  • Implement multi-modularization for several modules in Android.

Week 5

  • Set up the Android client project.
  • Clean up code to set up Compose previews.
  • Migrate a screen from XML to Jetpack Compose.

Week 6

  • Continue migrating screens from XML to Jetpack Compose.
  • Refactor tasks related to dialogs in Compose.

Week 7

  • Continue migrating screens from XML to Jetpack Compose.
  • Learn about handling permission requests in Compose screens.

Week 8

  • Implement Compose Navigation in multiple modules of the Mifos Mobile app.
  • Add Biometric Authentication to the Mifos Passcode feature.
  • Ensure smooth navigation flow and test biometric authentication integration.

Week 9

  • Learn about cryptographic encryption of passwords.
  • Implement Biometric Utility and Cipher Utility for secure handling of biometric data.
  • Integrate and test the encryption functionality within the Mifos Passcode.

Week 10

  • Learn about setting up Compose Multiplatform for Android and iOS.
  • Set up biometric authentication for both Android and iOS platforms.
  • Test and refine the authentication flow on both platforms.

Week 11

  • Resolve any biometric authentication errors encountered in Android and iOS.
  • Ensure consistent and secure functionality across both platforms.
  • Conduct thorough testing and debugging to ensure reliability.

Week 12

  • Implement a Dialog Box setup for biometric registration in the Compose Multiplatform project.
  • Continue refining the biometric authentication setup for both Android and iOS.
  • Conduct usability testing to ensure a seamless user experience.

Week 13

  • Initialize the setup for the Compose Multiplatform Library.
  • Develop foundational components for the library.
  • Begin integrating the library into the existing project architecture.

Week 14

  • Continue setting up the Compose Multiplatform Library.
  • Start creating reusable components and utilities for multiplatform use.
  • Ensure compatibility and smooth integration with existing modules in the Mifos Mobile app.

@akashmeruva9
Copy link
Collaborator

akashmeruva9 commented Jul 11, 2024

Weekly Learnings :

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Week 9

Week 10

Week 11

Week 12

Week 13

Week 14

  • 9th August - 11th August

@openMF openMF deleted a comment from therajanmaurya Jul 11, 2024
@openMF openMF deleted a comment from therajanmaurya Jul 11, 2024
@openMF openMF deleted a comment from therajanmaurya Jul 11, 2024
@openMF openMF deleted a comment from therajanmaurya Jul 11, 2024
@openMF openMF deleted a comment from therajanmaurya Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants