From f852a1c651a6e42a97f9a5f9140ea6e590ea516c Mon Sep 17 00:00:00 2001 From: Patrick Plate Date: Wed, 24 Jun 2026 14:41:55 +0200 Subject: [PATCH] =?UTF-8?q?docs(home):=20landing=20page=20=E2=80=94=20plat?= =?UTF-8?q?e-auth=20consumer,=20Sprint=200=20=3D=20wait,=20Sprint=201=20?= =?UTF-8?q?=3D=20Spark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index ea78fbf..a76270f 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,74 @@ -Willkommen im Wiki. \ No newline at end of file +# Sparkboard + +A tiny idea tracker for the Plate family — and the **second** real consumer of [plate-auth](https://git.plate-software.de/pplate/plate-auth/wiki). + +> _"Catch the spark before it fades."_ + +Sparkboard is a 4-user, single-organisation app where Patrick, a friend, and the friend's two sons can drop half-formed ideas, react to them, and watch which ones catch fire. It is deliberately small. The strategic point of Sparkboard inside `plate-software` is not the feature set — it is the **forcing function** that proves `plate-auth` works for a greenfield project from day zero. + +--- + +## 🎯 What Sparkboard is (in one paragraph) + +A web app at `sparkboard.plate-software.de` with a Spring Boot 4.1 + Java 25 backend, a Next.js 15 + React 19 frontend, and a Postgres database. Four users sign in with Google (later GitHub, Microsoft) through `plate-auth`. They post ideas, react with a small fixed emoji set, and progress them through a tiny lifecycle (`RAW → EXPLORING → BUILDING → SHIPPED → DEAD`). PWA installable. No notifications, no comments, no tags, no kanban in v1. Mobile-friendly but desktop-first. + +--- + +## 🚦 Where we are right now + +**Sprint 0 — Waiting.** Sparkboard cannot start coding until `plate-auth v0.1.0` is published to the Gitea Package Registry. Sparkboard's entire auth/multi-tenancy story is **outsourced** to that library. Sprint 1 ("Spark") begins the moment `de.platesoft:plate-auth-starter:0.1.0` and `@platesoft/auth:0.1.0` are pullable. + +**Sprint 1 — Spark.** Walking skeleton that imports `plate-auth`, configures it for single-org mode ("Family Spark"), implements one [`SparkboardOnboardingHook.afterFirstLogin()`](Architecture.md#single-org-mode-and-onboardinghook), adds a single `ideas` table, and ships to TrueNAS. Acceptance A1–A6. + +See [Roadmap](Roadmap.md) for the full multi-sprint arc. + +--- + +## 📚 This wiki + +| Page | Purpose | +|------|---------| +| [Vision](Vision.md) | What Sparkboard is for, who it's for, what it is **not** | +| [Architecture](Architecture.md) | Sparkboard as a `plate-auth` consumer: SPI seams, single-org mode, domain entities, deployment | +| [Roadmap](Roadmap.md) | Sprint 0 → Sprint 6, themed Spark / Kindling / Flame / Ember / Wildfire / Phoenix | +| [Integration Guide](Integration-Guide.md) | Worked example: how Sparkboard wires `plate-auth` in (the friendly twin of plate-auth's own integration guide) | +| [Sprint 1 — Assessment](Sprint-1-Assessment.md) | Problem analysis, risks, approach options for Sprint 1 | +| [Sprint 1 — Plan](Sprint-1-Plan.md) | Workstreams W0–W6, code sketches, acceptance A1–A6 | +| [Sprint 1 — Testplan](Sprint-1-Testplan.md) | ~25 test cases mapped to A1–A6 | +| [Open Questions](Open-Questions.md) | Ten Sparkboard-specific design questions for Patrick, with leanings | + +--- + +## 🧬 Heritage + +Sparkboard does **not** inherit any auth code. It is a clean slate. Auth, multi-tenancy, invitations, access-requests, the membership table — all of that lives in [`plate-auth`](https://git.plate-software.de/pplate/plate-auth/wiki), which itself was extracted from [InspectFlow Sprint 14](../../../inspectflow/docs/SPRINT-14-OVERVIEW.md). + +What Sparkboard inherits from the wider `plate-software` family: + +- **Deployment shape** — TrueNAS Docker Compose + `frps` tunnel (port 30011) + IONOS Apache reverse proxy. Same pattern as InspectFlow and CannaManage. +- **Proxy route pattern** — Next.js App Router edge proxy that injects a backend JWT (now provided by `@platesoft/auth/proxy` instead of being hand-rolled). +- **Doc discipline** — Vision / Roadmap / per-sprint Assessment + Plan + Testplan + Review. + +--- + +## 🔗 External links + +| Link | What | +|------|------| +| [Sparkboard code repo](https://git.plate-software.de/pplate/sparkboard) | Gitea — `sparkboard` (created Sprint 1, W0) | +| [plate-auth wiki](https://git.plate-software.de/pplate/plate-auth/wiki) | The dependency this whole project is built on | +| [plate-auth — Integration Guide](https://git.plate-software.de/pplate/plate-auth/wiki/Integration-Guide) | The canonical wire-up reference; this wiki's [Integration Guide](Integration-Guide.md) is the Sparkboard-flavoured walkthrough | +| [InspectFlow Sprint 14 overview](https://git.plate-software.de/pplate/inspectflow) | The origin of every auth pattern that now lives in plate-auth | + +--- + +## ✋ How to read this wiki + +- **If you only want to know what Sparkboard is for** → read [Vision](Vision.md) and stop. +- **If you want to know how it is built** → read [Architecture](Architecture.md), then [Integration Guide](Integration-Guide.md). +- **If you want to know what is happening this sprint** → read the three Sprint 1 docs in order: [Assessment](Sprint-1-Assessment.md) → [Plan](Sprint-1-Plan.md) → [Testplan](Sprint-1-Testplan.md). +- **If you have a design question** → check [Open Questions](Open-Questions.md) first; it almost certainly contains your question already, with Patrick's current leaning. + +--- + +_Updated: end of Sprint 0 planning. Sprint 1 implementation has not started._