medium complexity extracted Event Management Confidence: 100%
10
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

Event Creation enables peer mentors and coordinators to create structured events within the Meander platform, supporting group-based activities such as workshops, training sessions, and social gatherings. The wizard-based flow guides users through defining event title, date, time, duration, location, and a summary, minimizing input errors and cognitive load. Events are stored in the shared PostgreSQL database and are immediately visible to relevant users within the same organization, supporting both one-time and recurring formats.

User Flow

Event Creation user flow
Click to expand

Analysis

Business Value

Structured event creation is essential for coordinators managing group activities for multiple peer mentors and contacts simultaneously. It provides a scalable alternative to individual activity logging when a single event involves many participants, dramatically reducing administrative time. For organizations like NHF and HLF that run regular group meetings, workshops, and training sessions, this feature is a core operational tool. It also feeds directly into Bufdir reporting by capturing group-level engagement data that would otherwise require manual aggregation from individual records.

Implementation Notes

The feature is implemented as a multi-step wizard using Flutter BLoC for state management, with each step validated before advancing. The wizard state is persisted locally via Riverpod to support interruption and resumption on mobile. The REST API endpoint (POST /api/v1/events) accepts the full event payload and returns the created event ID. The Event Store uses the shared PostgreSQL events table with org-scoped queries enforcing tenant isolation. WCAG 2.2 AA compliance requires all wizard steps to be fully keyboard-navigable with visible focus indicators and accessible form labels.

Components (116)

User Interface (2)

Service Layer (5)

Data Layer (3)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.