Skip to content
New issue

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

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

Already on GitHub? # to your account

Offline Data Entry Support #10519

Open
12 tasks
khavinshankar opened this issue Feb 9, 2025 · 0 comments
Open
12 tasks

Offline Data Entry Support #10519

khavinshankar opened this issue Feb 9, 2025 · 0 comments
Labels
blocked GSoC Issues Created as part of Google Summer of Code

Comments

@khavinshankar
Copy link
Member

khavinshankar commented Feb 9, 2025

Project Detail

The Offline Data Entry Support feature aims to ensure that CARE forms remain fully functional even when a user's device is offline. This enhancement will enable users to continue entering data without interruption by storing inputs locally and synchronizing them with the central server once connectivity is restored. Additionally, the feature will handle conflict resolution to maintain data integrity during concurrent updates.

Features To Be Implemented

  • Offline Form Functionality: Modify forms to operate seamlessly without an active internet connection.
  • Local Data Storage: Implement mechanisms to cache or store form data locally when offline.
  • Automatic Synchronization: Develop a process to automatically sync stored data with the central server when the device reconnects.
  • Conflict Resolution: Create a robust system to handle data conflicts arising from multiple offline updates.
  • User Notifications: Provide visual cues to inform users about their offline status and the progress of data synchronization.

Note: The offline data entry capability should integrate smoothly with existing CARE modules without disrupting the user experience.

Learning Path

Details
Complexity Large
Required Skills ReactJS, NodeJS, TypeScript, Django, PWA/Offline Capabilities, Local Storage APIs
Mentors @rithviknishad @bodhisha @sainak
Project Size 350 hours

Link to documentation for Product Set-Up

  1. For setting up the frontend, please refer to the readme file available at: CARE Frontend
  2. For setting up the backend, please refer to the readme file available at: CARE Backend

Acceptance Criteria

  • Offline functionality works reliably across various devices and network conditions.
  • Data entered offline is securely stored and synchronized accurately once connectivity is restored.
  • The conflict resolution mechanism effectively handles simultaneous offline updates.
  • User notifications clearly indicate offline status and synchronization progress.
  • All CI/CD workflows pass, with comprehensive testing and peer code reviews completed.

Milestone

  • Analyze current CARE forms and assess offline capability requirements.
  • Research and select suitable offline storage and synchronization strategies.
  • Implement offline functionality within existing forms.
  • Develop local storage and automatic synchronization logic.
  • Build conflict resolution and user notification features.
  • Conduct extensive testing under varied network conditions.
  • Complete QA and code review.
@khavinshankar khavinshankar added blocked GSoC Issues Created as part of Google Summer of Code labels Feb 9, 2025
@tellmeY18 tellmeY18 moved this to Triage in Care Feb 9, 2025
@tellmeY18 tellmeY18 added this to Care Feb 9, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
blocked GSoC Issues Created as part of Google Summer of Code
Projects
Status: Triage
Development

No branches or pull requests

1 participant