-
Notifications
You must be signed in to change notification settings - Fork 1
feat: in-timer event registration with image upload via Flask Blueprint page #55
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
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
- Race director installs the CloudLink plugin
- 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
- 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
- On submit → CloudLink API registers the event → returns Event ID + Private Key
- 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request