June 27 2025 Weekly Summer Intern Check-In

June 27 2025 Weekly Summer Intern Check-In

Date

Jun 27, 2025

Attendees

Absent (Noted)

  • Pronay

  • Gopi

  • Pranav

  • Shubham

Absent

  • Sk

  • Aru

  • Priyanshu

Meeting/Recording

Session via Zoom

Recording to be shared post-meeting.

Discussion items

Time







Time







45 minutes

updates & blockers





Introductions

Check-Ins

For each student please create a new Level 2 entry and enter the following. 

  • What did you accomplish this past week?

  • What will you do this upcoming week?

  • What obstacles are impeding your progress?

  • Would you like help from some mentor for this task? 

Google Summer of Code

Abhinav Cilanki

  • What did you accomplish this past week?

    • Created a PR to Fineract that emits events on loan-modify & loan-withdraw actions.

    • Implemented core of the reactive loan-risk service:
      • Aggregator & LoanSnapshot entities + Liquibase changelogs
      • Reactive R2DBC/JPA repos
      • EventEnvelope model and Kafka messaging refactor
      • Strategy-based handler framework (@Handles annotation) with first loan/document handlers wired.
      • Spotless formatting applied repo-wide.

  • What will you do this upcoming week?

    • Finish all remaining loan/document event handlers and wire them into DomainEventDispatcher.

    • Complete AggregatorService logic (score aggregation, status updates).

    • Begin integrating first external provider (credit-bureau stub) via WebClient.

    • Add containerised runtime (Dockerfile + compose) for local stack spin-up

  • What obstacles are impeding your progress?

    • None blocking

  • Would you like help from some mentor for this task? 

    • Not at the moment.

    • Action: try to get some input for reviews from Victor and more input from Akshat.

Aru Sharma

  • What did you accomplish this past week?

  • What will you do this upcoming week?

  • What obstacles are impeding your progress?

  • Would you like help from some mentor for this task? 

Norbline Azah

  • What did you accomplish this past week?

    • Integrated the OpenTelemetry Collector using a DaemonSet to scrape logs and metrics.

    • Configured and validated PH-EE application log parsing via the filelog receiver, with logs now visible in Kibana via Elasticsearch.

    • Enabled and validated Kafka JMX metrics exposure via port 5556.

    • Successfully verified metric collection by scraping the Kafka JMX endpoint directly

    • Completed the OpenTelemetry pipeline by configuring Prometheus receiver and forwarding JMX metrics to Prometheus.

    • Set up initial Grafana dashboards for Kafka and PH-EE system monitoring (CPU, memory, request latency, failure rates).

    • Had a meeting with my mentors on thursday.

  • What will you do this upcoming week?

    • Begin architectural testing (performance and scalability focus) on /channel/transfer endpoint using simulated load to:

      • Generate real system metrics and logs under stress.

      • Validate how PH-EE handles traffic spikes and resource saturation.

    • Collect and store logs/metrics from these tests as part of the data pipeline for later anomaly detection and AI modeling.

  • What obstacles are impeding your progress?

    • Initial Kafka exporter image issues (missing shell, pull errors) slowed down JMX integration.

    • Some uncertainty around optimal Prometheus scrape configs and which Kafka metrics to prioritize.

    • Slight delays in exposing internal metrics endpoints due to service/pod label mismatches

  • Would you like help from some mentor for this task? 

    • No, for now

    • Action: David to share some of the test cases for PH-EE from Pay-BB

Craig Rosario

  • What did you accomplish this past week?

    • Finished most of the sidebar pages with backend, including navigation, frequent postings, journal entry, notifications, etc (dashboard charts remaining) and other small stuff

  • What will you do this upcoming week?

    • Fully complete these pages with backend, also work on the reusability part of tables etc. And also working on profile pages

  • What obstacles are impeding your progress?

    • Collection sheet api may have errors (500 error), same error on the original web app

  • Would you like help from some mentor for this task? 

    • None as of yet

    • Action: identify a resource to fix Collection Sheet API issue.

      • Bharath has create a ticket in web app section -

Devarsh Shah

  • What did you accomplish this past week?

    • Script that will run against CSV file - that will get and push ARM architectures to Mifos docker repository.

      • This was created in his name so need to change for this work form openMF - auth and permissions

    • Working on jFrog artifactory configuration

    • Building the ARM-based images and host these on jFrog

    • Script ready, repos configured, testing repos and seeing if any repo showing error, solve that and push to Dockerhub

  • What will you do this upcoming week?

    • The upcoming week I am suppose to work on,

    • Adding the test, so that when the changes will be pushed to gazelle this pipeline will test that all the gazelle projects(vNext, phee, and mifosx along with infra) are up and running. Iff those are up and running the pipeline should succedd.

    • Also, update the Jira tickets.

  • What obstacles are impeding your progress?

    • Yes, one project called ph-ee-operation-web does not have build.gradle file. So, I had to statically commented out of the “testing block of code“ in config.yml file. Here → ph-ee-operations-web/.circleci/config.yml at gazelle-v1.1.0 · openMF/ph-ee-operations-web

    • This config.yml is actually a “master_config file“ which is pushed by the python script.

    • The python script => It takes the repositories from csv and replaces config.yml file in those repositories.

      • It checks for the java version in build.gradle file and according to that it uses the docker image.

  • Would you like help from some mentor for this task? 

    • Yes. Regarding task. My mentor gave me the idea about this circleCI testing pipeline. So, thank you Tom.

Gopi Kishan

  • What did you accomplish this past week?

    • This past week, I worked on generating client code using OpenAPI

  • What will you do this upcoming week?

    • This upcoming week, i will raised PR of generating client code using OpenAPI then i will begin replacing our custom API implementations with auto-generated APIs using OpenAPI

  • What obstacles are impeding your progress?

    • No blocker

  • Would you like help from some mentor for this task? 

    • No

Hekmatullah Amin

  • What did you accomplish this past week?

    • This past week, I worked on integrating biometric authentication support for iOS in the Compose Multiplatform Passcode library.

    • I also identified several API calls in our mobile wallet app that are currently using standard Fineract APIs and confirmed which ones can be replaced with self-service APIs. I tested these self-service endpoints using Postman to ensure they're functioning correctly. Additionally, I reviewed some open pull requests.

  • What will you do this upcoming week?

    • If no task assign to I’ll decide what to focus on next week based on ongoing priorities

  • What obstacles are impeding your progress?

    • No major blockers at the moment.

  • Would you like help from some mentor for this task?

    • Not right now, but I’ll reach out if anything comes up during the integration work.

Hossam Hatem 

  • What did you accomplish this past week?

    • Updated FineractClientService Methods to accept their respective DTOs instead of raw maps, eliminating the risk of runtime errors due to incorrect map keys or value types and ensuring the type safety according to Yash’s advice

    • All outgoing data to APIs is now wrapped in DTOs, with conversion to maps handled internally via .toMap() methods

    • Refactored all relevant tests in FineractClientServiceTest to use DTOs instead of maps

    • Updated test matchers and error message assertions to match the new DTO-based signatures and service logic

    • Added AsciiDoc Maven plugin (asciidoctor-maven-plugin:2.2.1) to pom.xml

    • Configured source directory: docs/asciidoc/

    • Configured output directory: docs/generated/

    • Added docs/README.md, a Comprehensive guide for writing and maintaining documentation

  • What will you do this upcoming week?

    • I represented the rest of the Fineract KMP Client onboarding provided and not covered by our client service layer operations to Mr.Yash and Mr.Victor to see if we could prioritize some of them according to our workflow’s integration requirements

    • Waiting for their answers, then I’m going to go ahead and implement what they suggest

    • gonna try to start working on the workflows for the client onboarding and design the BPMN 2.0 processes

  • What obstacles are impeding your progress?

    • Yea, I need current situation review and then the decision of whether there are required client onboarding operations for the workflows

  • Would you like help from some mentor for this task? 

    • yup, need help reviewing the progress and deciding what extra operations we should go ahead and implement, and then gonna start working on the client workflows

    • Action: Ed to ping Yash and Victor and try to get an update from Nayan.

    • Action: Make sure issues with Fineract Java Client are logged

    • Action: Hossam to create a documentation page noting choice of Flowable, open source, activity of community and embeddability of it in the source code.

Keshav Arora

  • What did you accomplish this past week?

    • Use MCP with IDE - out of the three that had worked with just Slack would be helpful for data retrieval task. Coudl discard Github

  • What will you do this upcoming week?

    • Will do general research on the LLMs.

    • Get feedback on 404 issues from David and Tom related to PH-EE. Looking into this alon with Victor.

  • What obstacles are impeding your progress?

    • Challenge with tool to work with small local LLMs - stick to free ones that work for everyone else too. Don’t need to use local GPUs

  • Would you like help from some mentor for this task? 

Saksham Gupta

  • What did you accomplish this past week?

    • Completed sprint 1 and arjun developing

    • Reviewing sprint 1 of designs.

  • What will you do this upcoming week?

    • Work on sprint 2 of mifos mobile and then sprint 2 of MIfos X Field Officer App

  • What obstacles are impeding your progress?

    • No blockers at the moment.

  • Would you like help from some mentor for this task?

Yash Sharma 

  • What did you accomplish this past week?

    • Completed implementation of combined DPG deployments based on configuration flags.

    • Improved configuration handling to support selective and combined deployments.

    • Started working on extending the script to handle data setup for demo creation.

  • What will you do this upcoming week?

    • Continue development of the data setup logic for demo creation.

    • Create and implement the structure for demo creation flow

  • What obstacles are impeding your progress?

    • Still need to ensure alignment with the intended Gazelle demo creation workflow.

  • Would you like help from some mentor for this task?

Sk Niyaj Ali

  • What did you accomplish this past week?

    • Introduced KptTheme and design components

    • Enhanced Designsystem Module

    • Updated Project Architecture with Missing Files & Core logic in SDK Project

  • What will you do this upcoming week?

    • Will Enhance Common Module

    • Add Analytics Module

    • Update App Navigation

  • What obstacles are impeding your progress?

    • Nothing

  • Would you like help from some mentor for this task? 

    • No

Yu Wati Nyi 

  • What did you accomplish this past week?

    • The plugin with gradle and boilerplate code

      • Currently not connected to Fineract

      • blocker: don’t know if this should be a standalone service or can be connected to Fineract to use the annotations. I am having difficulty connecting with Fineract.

    • A signage creator function

      • takes in x-api-key, private key, public key, and the signage creator creates the signage to be added to the header.

    • Token Management Module (not tested and not pushed)

      • Build api that (in ApiResource.java)

        • gets a list of credit bureaus that have been configured (manually set to true for now)

        • gets the params of a selected credit bureau

        • posts the input params entered by the user

      • More details on specs: Phase 2: Token Management (Credit Bureau Configuration)

  • What will you do this upcoming week?

    • Complete the Token Management Module

      • creating the DTOs, Repository interfaces that map to DB, handler functions, services, serializer, and exception handling

      • testing

  • What obstacles are impeding your progress?

    • I am not sure if I have set up my plugin correctly: should the plugin be completely standalone and only communicate with Fineract through its API, or can I set it up so that I can use Fineract’s classes and annotations?

  • Would you like help from some mentor for this task? 

    • I am waiting for communication from Victor.

    • Action: Ed to ensure Victor and/or Aleks can respond to Yu and her blockers

Code for GovTech

Pranav Deshmukh

  • What did you accomplish this past week?

    • Updated navigation menu and the navigations buttons now work as expexted (home and back button)

    • Developed demo list page, where all demos are listed, user can choose the demos as per the need by reading the demo description.

    • Created tables for demo lists using tanstack, created pagination menu for the table.

    • Worked on a sample demo file, which will be parsed for the demo page content.

    • Created dynamic routes :/demos/[demo-title] using react router in such a way that it will generate url-safe slugs from demo titles, developed demo page, responsible to display the interactive demo specific content using sample demo file.

  • What will you do this upcoming week?

    • Get initial approval of demo page from mentors.

    • Improve the demo page, discuss about changes in the demo files and demo creation flow.

    • Create search functionality on demo-list page.

  • What obstacles are impeding your progress?

    • None

  • Would you like help from some mentor for this task?

    • I will discuss with David about the demo creator and demo files.  

Shubham Pal

  • What did you accomplish this past week?

  • What will you do this upcoming week?

  • What obstacles are impeding your progress?

  • Would you like help from some mentor for this task? 

Vickey Kumar

  • What did you accomplish this past week?

    • Developed a basic React web application with voice-to-text conversion.

    • Successfully integrated Google Speech Recognition for initial voice-to-text functionality.

    • Researched various voice recognition APIs and models (Azure, AWS).

    • Made a crucial decision to proceed with AWS voice recognition due to Azure's voice recognition discontinuation from September 2025.

    • Reaffirmed Firestore as the preferred database.

    • Decided to remove the Django backend and opt for FastAPI, citing its advantages for backend development.

    • Met with a mentor to discuss progress and current state.

  • What will you do this upcoming week?

    • Deep Dive into AWS Voice Recognition: Focus on integrating AWS Transcribe (or relevant AWS voice recognition service) into the React application. This will involve understanding AWS SDKs and APIs for speech-to-text.

    • FastAPI Backend Implementation: Start building the backend with FastAPI. This will likely involve setting up basic API endpoints, data models, and initial integration with Firestore.

    • Firestore Integration: Begin connecting the FastAPI backend with the Firestore database for data storage and retrieval.

    • Refine Voice-to-Text Workflow: Optimize the voice-to-text conversion process, potentially looking into real-time transcription and error handling.

    • Mentor Follow-up: Plan for another session with the mentor to showcase the AWS and FastAPI integration and discuss the next steps.

  • What obstacles are impeding your progress?

    • Azure Voice Recognition Discontinuation: The announced discontinuation of Azure voice recognition by September 2025 necessitated a pivot to AWS, which consumed research time and will require learning a new API.

    • Transition from Django to FastAPI: While a good strategic decision, switching backend frameworks introduces a new learning curve and re-architecting effort compared to continuing with Django.

    • Integration Complexity: Integrating multiple services (React frontend, AWS voice recognition, FastAPI backend, Firestore database) can always present unforeseen challenges.

    • API/Model Selection Nuances: Despite selecting AWS, there might be specific nuances within AWS's voice recognition offerings (e.g., Transcribe, Voice ID) that require further investigation to ensure the best fit for the project.

  • Would you like help from some mentor for this task?

  • Yes, having a mentor's help for this task would be highly beneficial, especially in the following areas:

    • AWS Voice Recognition Best Practices: Guidance on optimal setup, usage, and potential pitfalls of AWS voice recognition services.

    • FastAPI Architecture and Design: Advice on structuring the FastAPI application for scalability, maintainability, and efficient interaction with Firestore.

    • Action: escalate Vickey’s request AWS voice recognition best practices

Biplab Dutta

  • What did you accomplish this past week?
    Completed migration of feature/client module in openmf/android-client to Compose Multiplatform (CMP)

    • PR #2401 was reviewed and merged

    Manually tested sub-features under feature/client post-migration and identified non-migration-related bugs

    Fixed bugs and raised PRs for two sub-feature modules:

    • #2415: Fixed early empty state and dialog layout in identifiers

    • #2417: Fixed signature reset issue and enforced white canvas background

    • Both PRs were reviewed and merged

    Reviewed PRs: PR #2418, PR #2419, PR #2416, PR #2414, PR #2413, PR 2412, PR #2411, PR #2410

  • What will you do this upcoming week?
    - Continue testing the remaining sub-features under feature/client
    - Raise and merge PRs for any bugs discovered during testing

  • What obstacles are impeding your progress?
    No blockers currently, but the number and complexity of bugs in remaining sub-features might affect progress estimates.

  • Would you like help from some mentor for this task? 
    We regularly discuss implementation and blockers with teammates on the project’s Slack channel, so no additional help is required at the moment.

Rishav Jain

  • What did you accomplish this past week?

    • Discovered that the OpenCRVS team is actively developing their own Kubernetes (K8s) infrastructure. As a result, the focus shifted from independently creating K8s manifests to analyzing how we can align and integrate their work with our existing Mifos setup, avoiding duplication of effort.

  • What will you do this upcoming week?this upcoming week?

    • Work on running the OpenCRVS infrastructure alongside the current Mifos components.

    • Identify and utilize overlapping services between the two systems.

    • Integrate any additional components required by OpenCRVS that are not yet part of the Mifos environment.

  • What obstacles are impeding your progress?

    • None

  • Would you like help from some mentor for this task? 

    • No, the recent guidance from my mentor has been sufficient for the current direction.

    • Action: begin discussions around the use case and storyboard/demo flow for OpenCRVS

Mifos Summer of Code

Pronay Sarker