medium complexity MVP extracted Activity Registration Confidence: 100%
2
Components
43
Shared
0
User Stories
Yes
Analyzed

Description

Activity Registration Wizard provides a guided multi-step flow for logging more complex activities that require structured data entry. The wizard breaks registration into sequential steps - contact selection, date, time, duration, and narrative summary - presenting one decision per screen to reduce cognitive overload. It complements the quick-log screen: routine interactions use quick-log, while visits requiring a linked contact, detailed notes, or downstream formalized reporting use the wizard.

Sources & reasoning

The mobile architecture section explicitly names the activity wizard as a multi-step flow with defined steps, confirming it as a distinct component from quick-log. Fase 1 (ยง5) lists activity registration as MVP scope. The structured step sequence is also the prerequisite for formalized reports and document attachments downstream.

No source references โ€” this artifact was included based on reasoning alone (see above).

Analysis

Business Value

The wizard ensures richer, consistently structured activity data for organizations that require detailed records for Bufdir reporting, coordinator oversight, and internal quality review. Breaking registration into small sequential steps makes thorough logging accessible to peer mentors with limited digital skills - including elderly users and those with cognitive challenges explicitly highlighted by NHF. Consistent field-level data enables coordinator duplicate detection, downstream reporting, and future analytics that are impossible with free-text-only records. The wizard also serves as the structural entry point for optional downstream flows such as formalized home-visit reports and document attachments.

Implementation Notes

Implemented as a Flutter multi-screen flow with per-step state held in a Riverpod WizardStateService (keepAlive: true so backgrounding does not lose progress). Each step validates its own inputs and exposes a Next/Back pair; back navigation restores the previous step without discarding entered data. Contact selection queries the Drift-backed local contacts store, supporting offline lookup against locally cached records. On final submission, the same optimistic mutation plus outbox pattern used by quick-log applies here. Step transitions respect the WCAG reduced-motion preference via MediaQuery.platformDispatcher.accessibilityFeatures.

Components (45)

User Interface (1)

Service Layer (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.