User Interface medium complexity mobile
1
Dependencies
0
Dependents
2
Entities
1
Integrations

Description

A section within the coordinator statistics view that shows recruitment performance per peer mentor. Lists referral links issued, click-throughs, and confirmed registrations with attribution to individual peer mentors.

Feature: Membership Recruitment (Verving)

coordinator-recruitment-dashboard

Summaries

The Coordinator Recruitment Dashboard gives programme coordinators real-time visibility into which peer mentors are actively recruiting and how effectively their referrals convert to registered members. This transparency enables targeted coaching — coordinators can identify high performers to recognise and low performers to support — directly improving the efficiency of the entire recruitment programme. The ability to export data and filter by date range means recruitment performance can be reviewed in committee meetings, funding applications, or impact reports without manual data aggregation, reducing administrative overhead and improving decision-making speed. This is a key tool for demonstrating programme ROI to stakeholders.

Medium complexity component that depends entirely on the `recruitment-attribution-repository` being available and populated with data from the attribution service. This creates a sequential dependency: attribution tracking must be implemented and producing data before the dashboard can be meaningfully tested with real figures. The per-mentor conversion funnel display (shared → clicked → registered) requires aggregation queries that should be validated against expected data volumes to avoid performance issues as the mentee cohort grows. Date-range filtering and export functionality add scope — confirm whether export means in-app sharing (PDF/CSV) or server-side report generation, as this affects both complexity and infrastructure requirements significantly.

This component is a read-only analytics view that delegates all data fetching to `recruitment-attribution-repository`. `loadRecruitmentData(organisationId)` should fetch aggregated per-mentor stats in a single query rather than N+1 requests per mentor — ensure the repository layer supports this. `filterByDateRange(from, to)` should ideally be a repository-level filter to avoid loading and then discarding large datasets on the client. `onMentorRowTapped(mentorId)` drives navigation to a mentor-specific detail view; the mentorId passed must be consistent with the ID scheme used across the mentor profile system.

`exportRecruitmentReport()` needs a clearly defined output format (CSV vs PDF vs share sheet) — if server-generated, add an async loading state with cancellation support.

Responsibilities

  • List all peer mentors with their referral stats
  • Show per-mentor conversion funnel (shared → clicked → registered)
  • Allow coordinator to view referral detail for a specific mentor
  • Export or filter recruitment data by date range

Interfaces

build(context)
loadRecruitmentData(organisationId)
filterByDateRange(from, to)
onMentorRowTapped(mentorId)
exportRecruitmentReport()

Relationships

Dependencies (1)

Components this component depends on

Related Data Entities (2)

Data entities managed by this component

Used Integrations (1)

External integrations and APIs this component relies on