medium complexity v1.0 extracted Event Management Confidence: 100%
3
Components
43
Shared
0
User Stories
Yes
Analyzed

Description

Event Sign-up enables users to register participation in events with a minimal single-tap confirmation from the event detail screen. Participant records are written to the event_participants table, linking the user and event with a timestamp. The feature supports cancellation and coordinator proxy registration, allowing coordinators to add or remove attendees on behalf of peer mentors who cannot use the app independently. Optimistic mutation provides immediate UI feedback, with sync via the Drift mutation outbox when offline. Participant counts are reflected in both the event listing and event detail views after any sign-up or cancellation action.

Sources & reasoning

Event sign-up is marked [MVP] in the blueprint and is the functional completion of the event workflow: creation โ†’ listing โ†’ participation. The proxy principle in ยง2.4 explicitly covers coordinator registration on behalf of peer mentors, which extends naturally to event participation. Accurate participant counts are required for Bufdir reporting, making this feature business-critical even though the roadmap prose focuses on activity registration rather than events specifically.

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

Analysis

Business Value

Participation tracking is central to Bufdir funding compliance: grant reporting requires accurate counts of participants in peer mentor activities including group events. A frictionless sign-up flow directly increases data completeness, closing the gap between actual and reported participation that currently causes chronic under-reporting. For coordinators, confirmed attendee lists enable better logistics planning - venue sizing, materials, and follow-up - without resorting to external tools. The proxy sign-up capability ensures less digitally confident peer mentors appear in records, honouring the platform's commitment to inclusive design and representative data across all four organisations.

Implementation Notes

Sign-up is implemented as an optimistic mutation: the UI toggles immediately and POST /api/v1/events/{id}/participants is queued in the Drift outbox if offline. The backend enforces a unique constraint on (user_id, event_id) to block duplicates. Cancellation calls DELETE /api/v1/events/{id}/participants/{userId} with the same optimistic pattern. Coordinator proxy sign-up sends POST with an explicit user_id body parameter; the backend validates the requesting coordinator's JWT org scope covers the target user before persisting. WCAG 2.2 AA requires the sign-up button to carry a descriptive accessible label naming the specific event, with minimum 24ร—24 CSS pixel touch target size.

Components (46)

User Interface (1)

Service Layer (1)

Data Layer (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.