Service Layer medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Business logic layer that orchestrates event sign-up and participant management operations. It coordinates between the repository layer and the push notification system to register attendance, trigger reminder notifications, and enforce role-based access for coordinator-only actions such as removing participants.

Feature: Event Sign-up

event-participant-service

Sources & reasoning

The blueprint assigns Event Sign-up to v1.0, placing it in Phase 2 alongside other participation-tracking features. Line 116 references follow-up and scenario-based push notifications as a Phase 2 concern for HLF, which aligns with sign-up-triggered reminders. The feature is not launch-blocking but completes the event workflow once the listing surface is in place.

  • Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
  • Fase 2 - Kjerneprodukt - Bufdir-rapportering og eksport med ett klikk (kun i Admin Web Portal; mobilen bidrar med selve aktivitetsregistreringen)

Responsibilities

  • Register a user as a participant for a given event
  • Validate role-based permissions before allowing participant removal
  • Coordinate with the push notification system to schedule event reminders
  • Retrieve participant lists for display and Bufdir reporting purposes
  • Remove a participant registration when requested by a coordinator

Interfaces

signUp(eventId: string, userId: string): Promise<ParticipantRecord>
removeParticipant(eventId: string, userId: string, requestingRole: string): Promise<void>
getParticipants(eventId: string): Promise<ParticipantRecord[]>
scheduleReminder(eventId: string, userId: string): Promise<void>

Related Data Entities (1)

Data entities managed by this component