diff --git a/docs/superpowers/plans/2026-10-21-daily-drawings-ui.md b/docs/superpowers/plans/2026-10-21-daily-drawings-ui.md new file mode 100644 index 000000000..baaa84f87 --- /dev/null +++ b/docs/superpowers/plans/2026-10-21-daily-drawings-ui.md @@ -0,0 +1,160 @@ +# Daily Drawings UI Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** A projector-friendly display app where an event operator picks an event, draws one random winner from people scanned as claiming a prize, and sees the winner's name/email revealed with the Kasimir mascot. + +**Architecture:** A new CAP service (`srv/drawing-service.cds` + `.js`) at `@path:'/drawings'`, `@requires:'Admin'`, exposing three functions (`listEvents`, `pool`, `draw`). Randomness and PII resolution happen server-side; the browser receives only the one chosen winner. A new standalone Vue 3 + Vite app (`app/display-app-drawings/`, sibling to `app/display-app/`) served at `/drawings-ui/`, wired into the approuter (`Admin` scope) and the MTA builder. + +**Tech Stack:** `@sap/cds` CAP service (Node.js, `cds.ql`), Vue 3 `