User Interface high complexity frontendmobile
3
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Dedicated screen for registering a recurring group activity across multiple peer mentors simultaneously. Coordinator selects a recurring activity template and picks all attending mentors via a multi-select list before proceeding to confirmation.

Feature: Coordinator Proxy Registration for Contacts

bulk-proxy-registration-screen

Summaries

The Bulk Proxy Registration Screen dramatically reduces the administrative burden of recording group mentoring sessions, which are a common activity type in peer mentoring programs. Without bulk registration, coordinators must log the same recurring session individually for each attending mentor — a tedious, error-prone process that discourages accurate record-keeping. This screen allows a coordinator to select a recurring activity template and all attending mentors in a single workflow, submitting records for the entire group at once. The result is faster data entry, higher compliance with recording requirements, and more reliable program metrics.

For organizations that run weekly or bi-weekly group sessions with 5–20 mentors, this feature alone can save hours of administrative work per month while improving data quality.

The Bulk Proxy Registration Screen is the highest-complexity screen in the proxy registration module, with three dependencies: mentor-multi-select-widget, recurring-template-selector, and bulk-confirmation-screen. All three must be production-ready before this screen can be integration-tested. The multi-mentor selection logic introduces significant state management complexity — tracking selected IDs, filter state, and template selection simultaneously. The filterMentorsByStatus feature requires real-time filtering logic and must be performant even with large mentor lists.

Key delivery risks: (1) the recurring-template-selector is a distinct component that may require its own backend API; (2) bulk submission logic must handle partial failures gracefully. UAT must include scenarios with 10+ mentors selected. Estimated development: 5–8 days including all state logic, error handling, and integration tests. Recommend building and testing mentor-multi-select-widget independently first.

The Bulk Proxy Registration Screen manages complex multi-dimensional state: selected template ID (String), selected mentor IDs (List), filter string, and submission status. onTemplateSelected(String templateId) loads the template's default activity data into local state via the recurring-template-selector dependency. onMentorSelectionChanged(List mentorIds) syncs the multi-select widget's output into screen state and updates the displayed selected count preview. filterMentorsByStatus(String status) passes a filter predicate to the mentor-multi-select-widget.

clearSelections() resets both template and mentor selections. navigateToBulkConfirmation() validates that at least one template and one mentor are selected before pushing the bulk-confirmation-screen route with the fully assembled payload. onSubmitBulk() is invoked from the confirmation screen callback. Data models consumed: activity, peer-mentor, recurring-activity-template.

The screen must handle the recurring-template-selector's async template fetch and display a loading state. Bulk submission should use a transaction-safe service method to prevent partial writes.

Responsibilities

  • Display recurring activity template selector
  • Host mentor multi-select contact list
  • Show selected mentor count and preview
  • Initiate bulk submission flow

Interfaces

build(BuildContext)
onTemplateSelected(String templateId)
onMentorSelectionChanged(List<String> mentorIds)
onSubmitBulk()
navigateToBulkConfirmation()
clearSelections()
filterMentorsByStatus(String status)

Related Data Entities (1)

Data entities managed by this component