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

Description

Contact List & Search gives peer mentors and coordinators a role-specific, searchable view of all contacts in their organization. The list filters at query time - peer mentors see only their assigned contacts; coordinators see the full organizational roster. Full-text search across names and notes enables rapid lookup, while WCAG 2.2 AA compliance ensures the feature is fully accessible via screen readers, keyboard navigation, and sufficient contrast for users with visual or cognitive impairments.

Sources & reasoning

Line 152 marks contact search as MUST/Phase 1 across all four organizations. Line 284 lists "Contacts list with role-specific views" as a named mobile screen, and line 311 places "Kontaktliste og likepersonsoversikt" in the Fase 1 MVP scope. Phase 1 maps to MVP by the first-phase ordinal rule.

  • docs/source/likeperson.md ยท line 152
    Basic search (contact og notater) | โœ“ | โœ“ | โœ“ | โœ“ | MUST | 1
  • docs/source/likeperson.md ยท line 284
    Contacts list with role-specific views
  • docs/source/likeperson.md ยท line 311
    Kontaktliste og likepersonsoversikt

Analysis

Business Value

All four organizations marked basic contact and notes search as MUST/Phase 1 in the priority matrix, making this a universal launch blocker. Every downstream workflow - activity logging, assignment dispatch, proxy reporting, and statistics - depends on reliably finding a contact. Role-scoped views reduce cognitive load, which is especially important given the platform's WCAG mandate for users with cognitive or sensory challenges. For NHF, whose users include stroke survivors, a clear and minimal search flow is a core accessibility requirement, not a convenience. Without reliable contact lookup the app is operationally unusable.

Implementation Notes

Built as a Flutter widget backed by Drift local database with SQLite FTS5 full-text search. Role filtering is applied at query time via a Riverpod ContactsRepository provider; peer mentor queries add a user_id WHERE clause while coordinator queries scope to organization_id. Pagination or infinite scroll is required for organizations with hundreds of contacts. Offline reads are native to Drift; mutations enqueue through the shared outbox. All list items, search inputs, and empty-state messages must pass WCAG 2.2 AA: 4.5:1 contrast, โ‰ฅ24ร—24 px touch targets, and semantic labels for screen readers.

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.