48660d3ec8
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).
19 lines
834 B
Markdown
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]].
|