Calendar Sync
Feature Detail
Description
Calendar Sync enables peer mentors and coordinators to synchronize their Meander activities with external calendar applications, providing a unified view of scheduled interactions alongside personal appointments. The feature reduces scheduling conflicts and supports planning of follow-up contacts. By connecting activity records to standard calendar formats, it also supports the follow-up tracking quality that HLF identified as a significant area of concern in peer mentor satisfaction surveys.
Sources & reasoning
Line 116 explicitly names calendar synchronization as part of HLF's peer mentor follow-up improvement plan alongside push notifications, motivated by 40% follow-up dissatisfaction. Blueprint assigns [v1.0] matching Fase 2 positioning in the roadmap.
-
docs/source/likeperson.md · line 116Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
Analysis
HLF's peer mentor satisfaction survey showed 40% dissatisfaction with follow-up quality, and calendar synchronization was explicitly cited as part of the solution alongside scenario-based push notifications. For coordinators managing multiple peer mentors, integrated calendar visibility reduces overhead and prevents follow-up gaps. Calendar sync supports organizational quality assurance by ensuring no contact goes without timely follow-up, and elevates Meander from a pure logging tool to an integrated workflow assistant that fits naturally into volunteers' existing scheduling habits.
Implemented via CalendarSyncService using platform calendar APIs (iOS EventKit, Android CalendarContract) accessed through Flutter plugins. CalendarSyncSettingsScreen lets users choose which activity types trigger calendar entries and select the target calendar. CalendarEventRepository maps Meander activity IDs to external calendar event IDs for update tracking. OAuth2 tokens for external providers (Google Calendar, Outlook) are stored per-user in calendar_sync_tokens. The offline-first design queues sync operations when connectivity is unavailable and processes them on reconnection.
Components (7)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.