Files
julian 48660d3ec8 docs(wiki): reconcile with session — booth console, i18n, live WS
File concept pages for the operator-UI architecture ([[booth-console]]: stack,
/api/ws live feed, anti-CSWSH) and [[i18n]] (per-user server-stored language;
resolves a dangling code-comment link). Qualify the stale 'plain React' note on
react-vite-spa. Backfill log entries for the live WebSocket, frontend foundation,
and i18n builds (which had none), plus a reconciliation lint entry. Catalog
booth-exit-flow + the two new pages in index; fix the concept count (27→41).
2026-06-18 11:50:58 +02:00

19 lines
834 B
Markdown

---
type: entity
tags: [parking, stack, frontend]
sources: [parking-system-architecture]
updated: 2026-06-18
---
# React + Vite SPA
The frontend: a React single-page app built with Vite, **served by [[fastify]]** (MIT).
(See [[parking-system-architecture]] §2.) Part of the [[technology-stack]].
> **Updated 2026-06-18:** the original "plain React, no framework" choice (an admin *framework*
> like [[refine]] was rejected) still holds — but the live operator console outgrew bare
> `useState` and now layers in **TanStack Query + Router, Zustand, Tailwind v4, Radix, and
> react-i18next**. These are libraries, not an admin framework, and each earns its place (live
> updates, routing, the terminal theme, [[i18n]]). The full operator-UI architecture — including the
> single `/api/ws` live feed — is in [[booth-console]].