Feedback System

In-app user feedback collection with Microsoft Teams notification delivery.

Architecture

LayerLocation
Routebackend/src/routes/feedback.ts
Componentsfrontend/src/components/feedback/ (7 files)

Frontend Components

ComponentPurpose
FeedbackAgentOrchestrates feedback UI lifecycle (trigger, form, confirmation)
FeedbackFormForm with category, description, screenshot option
FeedbackToastConfirmation toast after submission
feedbackService.tsAPI client for feedback submission

How It Works

  1. User clicks feedback trigger (accessible from any page)
  2. FeedbackForm collects:
    • Category (bug, feature request, general feedback)
    • Description text
    • Optional screenshot
    • Automatic context (current page URL, user info, browser details)
  3. Submission sent to backend/src/routes/feedback.ts
  4. Backend forwards to Microsoft Teams via TEAMS_UPDATES_WEBHOOK_URL
  5. FeedbackToast confirms submission

Context Capture

The feedback system automatically captures contextual information with each submission:

  • Current page URL
  • Authenticated user identity
  • Browser and device information
  • Timestamp

This context helps the development team reproduce issues without requiring back-and-forth with the reporter.

Teams Integration

Feedback notifications are sent to a Microsoft Teams channel via an incoming webhook. The TEAMS_UPDATES_WEBHOOK_URL environment variable configures the destination. Each feedback entry creates a formatted Teams message card with the submission details and context.