Skip to content

Commit 084c549

Browse files
committed
docs: add c4gt 2025 project documentation
1 parent 4d200dc commit 084c549

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# C4GT 2025 – Project Documentation
2+
3+
## Overview
4+
This document summarizes my contributions during the C4GT 2025 program under the Mifos Initiative.
5+
I worked on two main projects:
6+
- **Android Client (openmf/android-client)** – Migrating feature modules to **Compose Multiplatform (CMP)**.
7+
- **Mobile Wallet / Mifos Pay (openmf/mobile-wallet)** – Implementing **UPI payment flows** and setting up future modules (e.g., AutoPay, Bank Transfers, Customer/ Merchant Payments).
8+
9+
---
10+
11+
## 1. Android Client (openmf/android-client)
12+
13+
### Scope
14+
- Migrated feature modules to **Compose Multiplatform**:
15+
- `feature/checker-inbox-task`
16+
- `feature/path-tracking`
17+
- `feature/client` (largest module, 13 sub-features)
18+
- Bug fixing and improvements in sub-features (`client-identifiers`, `client-charges`, `client-pinpoint`, etc.).
19+
- Reviewed multiple PRs from the team.
20+
21+
### Key Achievements
22+
- **Full migration** of `feature/client` to CMP (merged).
23+
- **Bug fixes** across sub-features: dialogs, UI states, silent failures, signature reset, charge dialog UX.
24+
- **Abstractions & design ideas** for Android SDK dependencies (LocationManager, File, Uri, Context).
25+
- **PR reviews** across the repo, helping maintain code quality.
26+
27+
### Selected Pull Requests
28+
- [#2389](https://github.com/openMF/android-client/pull/2389) – Migrate checker-inbox-task to CMP
29+
- [#2400](https://github.com/openMF/android-client/pull/2400) – Migrate path-tracking to CMP
30+
- [#2401](https://github.com/openMF/android-client/pull/2401) – Migrate client module to CMP
31+
- [#2415](https://github.com/openMF/android-client/pull/2415) – Fix identifiers empty state & dialog layout
32+
- [#2430](https://github.com/openMF/android-client/pull/2430) – Merge ViewModels, add charge validation
33+
- [#2433](https://github.com/openMF/android-client/pull/2433) – Fix Client Pinpoint & implement Pinpoint Map dialog
34+
35+
_(More PRs linked in weekly updates)_
36+
37+
### Learnings
38+
- Large-scale CMP migrations (navigation, DI, tightly-coupled Android SDK APIs).
39+
- Debugging CMP-related UI bugs and state issues.
40+
- Collaboration via reviews, navigation design, and Jira ticketing.
41+
42+
---
43+
44+
## 2. Mobile Wallet / Mifos Pay (openmf/mobile-wallet)
45+
46+
### Scope
47+
- **UPI Payment Flows**:
48+
- Scan & Pay (via QR codes)
49+
- Pay to UPI ID / Pay Anyone
50+
- Bank Transfers (self & others)
51+
- AutoPay module setup
52+
- **Standing Instructions**:
53+
- Fixed loading issues and added fallbacks for missing API data.
54+
- **Upgrades & Setup**:
55+
- Upgraded compileSdk, AGP, Gradle, and dependencies.
56+
- Drafted implementation plan for **Merchant Payments KMP Module**.
57+
58+
### Key Achievements
59+
- Built **frontend flows** for UPI: navigation, screen layouts, and UI/UX fixes.
60+
- Implemented **QR-based UPI app invocation** (draft PR).
61+
- Drafted backend design assumptions with **PHEE + Fineract + PSP bank UPI APIs**.
62+
- Fixed **Standing Instruction bugs** (merged).
63+
- Created Jira tickets for merchant payments and loan sandbox module.
64+
65+
### Selected Pull Requests
66+
- [#1889](https://github.com/openMF/mobile-wallet/pull/1889) – Update compileSdk to 35, AGP, Gradle, dependencies
67+
- [#1890](https://github.com/openMF/mobile-wallet/pull/1890) – Fix SI loading issue
68+
- [#1891](https://github.com/openMF/mobile-wallet/pull/1891) – Add default values for missing fields
69+
- [#1899](https://github.com/openMF/mobile-wallet/pull/1899) – Fix DialogState serialization error
70+
- [#1903](https://github.com/openMF/mobile-wallet/pull/1903) – Add basic UPI payment support (draft)
71+
- [#1906](https://github.com/openMF/mobile-wallet/pull/1906) – Implement Pay Anyone (draft)
72+
- [#1907](https://github.com/openMF/mobile-wallet/pull/1907) – Add Bank Transfers (draft)
73+
- [#1908](https://github.com/openMF/mobile-wallet/pull/1908) – Setup AutoPay feature (draft)
74+
- [#1909](https://github.com/openMF/mobile-wallet/pull/1909) - implement autopay dashboard (draft)
75+
- [#1910](https://github.com/openMF/mobile-wallet/pull/1910) - biller and bills setup (draft)
76+
- [#1912](https://github.com/openMF/mobile-wallet/pull/1912) - see all; sorting; empty state; per-tab scroll; top bar
77+
- [#1913](https://github.com/openMF/mobile-wallet/pull/1913) - resolve overlapping screens during transitions
78+
79+
### Learnings
80+
- UPI payment flow design & integration patterns.
81+
- Mapping frontend flows to backend orchestration.
82+
- Drafting extensible KMP modules (Add Payments, Merchant Payments, Loan Sandbox).
83+
- Handling cross-module UI/UX refinements.
84+
85+
---
86+
87+
## 3. Weekly Progress
88+
Detailed week-by-week updates are available [here](https://github.com/openMF/mobile-wallet/issues/1852#issuecomment-2950151917).
89+
(Summarized in PRs above; includes Week 1 → Week 14 breakdown.)
90+
91+
---
92+
93+
## 4. Current Status
94+
- **Android Client**: CMP migration PRs merged, bug fixes completed.
95+
- **Mobile Wallet**: UPI payment flow and AutoPay PRs in draft/review; backend clarifications pending.
96+
- **Documentation**: Jira tickets created and parented under master tickets.
97+
98+
---
99+
100+
## 5. Next Steps
101+
For future contributors:
102+
- Complete review & merge of draft PRs in `mobile-wallet`.
103+
- Connect UPI frontend flows with backend APIs once integration clarifications are resolved.
104+
- Extend Payments and AutoPay modules as planned.
105+
106+
---
107+
108+
## 6. License
109+
This documentation is licensed under the
110+
[Creative Commons Attribution 4.0 International License (CC BY 4.0)](./LICENSE.md).
111+
112+
You are free to share and adapt the material, provided you give appropriate credit.
113+
114+
## 7. References
115+
- Jira tickets: [MW-211](https://mifosforge.jira.com/browse/MW-211)
116+
- Midterm presentation: [Biplab_Dutta_C4GT_2025_Midpoint_Slides.pdf](https://github.com/biplab1/c4gt-2025-mifos-docs/blob/main/Biplab_Dutta_C4GT_2025_Midpoint_Slides.pdf)
117+
- [Mifos Initiative](https://mifos.org/)
118+
- [C4GT Program](https://codeforgovtech.in/)
119+
- [Mobile Wallet Repository](https://github.com/openMF/mobile-wallet)
120+
- [Android Client Repository](https://github.com/openMF/android-client)
121+
122+
---
123+

0 commit comments

Comments
 (0)