Project: Enhanced Cross-Platform Synchronization for NeoRoo using d2 library

The NeoRoo Synchronization Enhancement project aims to implement robust data synchronization between the mobile application and DHIS2 backend using the d2 library, ensuring seamless operation across both Android and iOS platforms. This project will improve data reliability, offline capabilities, and sync performance while maintaining consistency with the DHIS2 data model.

Core Objectives:

Data Synchronization Architecture

  • Implement d2 library integration
  • Create Flutter-native platform channels
  • Design offline-first data storage
  • Develop conflict resolution strategies
  • Implement real-time sync indicators

Cross-Platform Implementation

  • Flutter widget development
  • Platform-specific optimizations
  • Background sync services
  • Push notification integration
  • Battery optimization

Testing Infrastructure

  • Cross-platform test suites
  • Sync reliability metrics
  • Performance benchmarking
  • Edge case handling
  • Network condition simulation

The deliverables of the project are as follows:

  • Develop Flutter integration layer for d2 library
  • Create platform-specific native modules where needed
  • Implement comprehensive sync logic
  • Build automated testing infrastructure
  • Create monitoring and debugging tools
  • Provide documentation and deployment guides

This project will significantly improve the reliability and performance of data synchronization in the NeoRoo app while ensuring consistent behavior across both Android and iOS platforms. The integration of the d2 library will provide robust DHIS2 compatibility, while the Flutter implementation ensures a maintainable and efficient codebase.

This implementation will ensure that healthcare workers using NeoRoo can reliably sync their data regardless of network conditions or platform choice, improving the overall effectiveness of the application in supporting neonatal care.

Project size: Large (~350 hours)
Mentors: @Hrishikesh-Bhagwat and @sunbiz

1 Like

Hello, I’m interested in contributing to NeoRoo for this year’s GSoC. I’ve started exploring the source code and documentation and wanted to ask if there are any recommended starting points or good first issues?

I’d love to begin contributing and get involved.

1 Like

Here are some good first issues to get familiar with the codebase with a lot of hints and details for new contributors - Issues · LibreHealth / LibreHealth Incubating Projects / Mobile Helping Babies Survive (mHBS) / NeoRoo · GitLab

2 Likes

Hello @sunbiz , I know this thread isn’t directly related, but since you’re also the maintainer of lh-toolkit-cost-of-care-app — I wanted to ask here directly.

I’m interested in working on that project and have been developing a proposal around modernizing the app and adding features like voice search, voice input, and AI-assisted cost explanation for rural Community Health Workers. I’ve also opened a separate thread for it here.

My main question is — would contributions to that project and a proposal based on it be considered for GSoC 2026? I don’t want to mess up without some guidance first!

Sorry for the off-topic message!

Hi @sunbiz,

I’m currently exploring the NeoRoo app as a potential contributor for GSoC 2026 and I’ve been trying to set it up locally. I was able to build and run the app, but I’m having some difficulty understanding how the login/server configuration is supposed to work.

I’m not very familiar with DHIS2 setups yet, so I may be missing something basic. Is there a specific server URL that contributors are expected to use for development? Or any special guidelines for the server/username/password format when logging in (for example, demo credentials or a preconfigured NeoRoo instance)?

I’m sorry if this is a simple question — I just want to make sure I’m setting things up correctly before going deeper into the code. Any guidance would really help.