Files
parking_solution/wiki/overview.md
T
julian bfe64032d8 Initial scaffold: Turborepo monorepo + design wiki
Turborepo (pnpm workspaces) with all dependencies pinned to latest
mutually-compatible versions: turbo 2.9, TypeScript 6, Fastify 5,
React 19, Vite 8, better-sqlite3 12 + Drizzle ORM 0.45.

Layout:
- apps/server   Fastify backend (local JWT auth + role guard, /health)
- apps/web      React 19 + Vite 8 operator SPA
- packages/db   Drizzle schema on SQLite/WAL; append-only events + users
- packages/devices  reader/printer/relay adapter interfaces (intent-only relay)
- packages/shared   shared domain types

Architecture constraints from the design wiki are encoded in the scaffold:
append-only hash-chained + signed event log, device-agnostic adapters,
"a barrier is not a door" (relay expresses intent only), fully-local
offline-first auth.

wiki/ is an LLM-maintained Obsidian knowledge base (28 pages) ingested
from the architecture & design notes, with its own maintenance schema.

Verified: pnpm install, full turbo build (5/5), server boots and serves
/health, drizzle-kit generates the initial migration.
2026-06-14 00:34:11 +02:00

2.6 KiB

type, tags, sources, updated
type tags sources updated
overview
parking
overview
synthesis
parking-system-architecture
2026-06-14

Parking System — Overview

The synthesis / entry point for this wiki. Start here, then follow links. Catalog of every page: index. Source summaries: parking-system-architecture.

What it is

A parking-management web application running on a dedicated, hardened Linux appliance deployed on-site at a parking facility. Two forces shape nearly every decision:

  1. offline-first — a park may be air-gapped; nothing core may depend on a network.
  2. threat-model — the primary adversary is the legitimate operator at the booth, not an outsider. The classic fraud is take the cash, delete the record.

The architecture in one pass

Where it stands

6 open-questions still drive procurement — most critically lane topology, failure modes (fail-open on exit), the reconciliation channel, and backup/durability.

Reading paths