Skip to content

feat: in-timer event registration with image upload via Flask Blueprint page #55

@agent01baarathi

Description

@agent01baarathi

Overview

Replace the current flow (where race directors must visit rhcloudlink.com to register) with a self-contained registration experience inside RotorHazard itself.

User Flow

  1. Race director installs the CloudLink plugin
  2. On the Format page, the CloudLink panel shows:
    • Enable/Disable toggle
    • Event ID (read-only once registered)
    • Private Key (read-only once registered)
    • "Setup / Register Event" button → opens /cloudlink/setup
  3. On the setup page, race director fills in:
    • Event name, date, city, country, description
    • Image selection (3 options):
      • Use RotorHazard logo (default)
      • Upload a file from the timer machine
      • Enter a URL
  4. On submit → CloudLink API registers the event → returns Event ID + Private Key
  5. Keys are automatically saved to RH options → panel updates instantly

Implementation

  • Flask Blueprint registered via rhapi.ui.blueprint_add() at route /cloudlink/setup
  • Custom HTML page styled to match RotorHazard's UI
  • Image upload uses presigned S3 URL flow (Pi uploads direct to S3)
  • RotorHazard logo available at /static/image/RotorHazard Logo.svg

Phases

  • Phase 1 (this issue): Full UI + Blueprint page working with mock API
  • Phase 2: Wire up real API endpoints (separate issue)

Related

  • API issue: vikibaarathi/RH-Cloud-Link-MS

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions