NovaStore — System Design

12 components · 10 links · 5 zones

Loading graph…
Legend
  • Standard node
  • External / inferred (dashed)
  • Database / persistent store
  • Load balancer / proxy
  • Zone band (small-caps title)
  • Link / dependency
  • Data flow (dashed)
  • Bidirectional (request/response)

Inferred components — evidence

  1. PocketBase server (dashed) — server process not in repo source; inferred from pocketbase.exe binary, pb_migrations/*.js collection definitions, and NEXT_PUBLIC_POCKETBASE_URL=http://127.0.0.1:8090 in .env.local. Exact version [unresolved].
  2. SQLite (pb_data) (dashed, double bottom border) — PocketBase's embedded datastore; inferred from presence of pb_data/ and pocketbase_data/ directories. No direct SQL in app source.
  3. dummyjson.com (dashed) — third-party REST API; verified from FALLBACK_BASE_URL = 'https://dummyjson.com' in productsService.ts, reached only when isLikelyPocketBaseUnavailable() is true.
  4. Google OAuth2 (dashed) — verified from pb.collection('users').authWithOAuth2({provider:'google'}) in pocketbase.ts; provider configuration lives in PocketBase, not the repo, so endpoint details are [unresolved].
  5. Next.js dev server :3000 — port inferred from the framework default (next dev in package.json); not pinned in any config file.