Skip to content

feat(feedback): introduce feedback domain with templates, forms, submission and statistics #361

@McPringle

Description

@McPringle

User Story

As an event participant,
I want to receive a feedback form after an event,
so that I can share my experience and help organizers improve future events.

As a community owner or organizer,
I want to define and use feedback templates and review collected responses,
so that feedback becomes a structured and useful part of event management.


Acceptance Criteria

  • Feedback Domain

    • A new business domain named Feedback is introduced.
    • All related entities, services, forms, and UI components are created under this domain.
  • Feedback Templates

    • Multiple feedback templates can exist as reusable form definitions.
    • Templates include various supported field types:
      • Single-line text input
      • Multi-line text input
      • Option list (single selection)
      • Single checkbox
      • Multi-checkbox selection
      • Dropdown
      • Read-only text block
    • Instance administrators can create templates available to all events.
    • Community owners can create additional templates restricted to their community.
  • Assigning Templates to Events

    • When creating an event, an optional feedback template can be selected from available templates.
    • If no template is selected, the event has no feedback form.
  • Standard Template

    • Komunumo provides a built-in default template in all supported languages (currently English and German).
    • The default template includes the questions:
      • "Wie hat dir das Event gefallen?" / "How did you like the event?"
      • "Optionaler Kommentar" / "Optional comment"
  • Feedback Submission

    • After an event ends, all registered participants receive an email containing a link to the feedback form.
    • A participant can submit feedback only within a configurable time window (default: 24 hours after event end).
    • After the allowed time expires:
      • Participants see an expiration message when opening the form.
      • A notification email is sent to the community owner and organizers with a link to the statistics dashboard.
  • Storage

    • All submitted feedback responses are stored in the database.
    • Responses are tied to the event and to the respective feedback template.
  • Statistics

    • Community owners and organizers can view aggregated statistics for their event’s feedback.
    • Statistics are displayed in the browser using charts or summarized values.
    • Only authorized users (community owners/organizers) have access to the statistics.
  • Access Control

    • Only event participants can submit feedback.
    • Only authorized community owners and organizers can view feedback results.
  • Testing

    • Manual testing is performed successfully on both desktop and mobile devices.
    • Full automated test coverage is implemented for all added code.
    • All automated tests pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    hackergartenGood for hackergarten eventshelp wantedExtra attention is neededtoo bigThis issues need to be split up into smaller chunks

    Projects

    Status

    In Analysis

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions