docs(home): landing page — plate-auth consumer, Sprint 0 = wait, Sprint 1 = Spark
+74
-1
@@ -1 +1,74 @@
|
|||||||
Willkommen im Wiki.
|
# 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._
|
||||||
|
|||||||
Reference in New Issue
Block a user