Understand AstroGuide

Architecture

How AstroGuide is assembled, served and deployed.

AstroGuide is a single client application. It has no application API, database or authentication service.

Browser
  → React / Three.js application
    → bundled base catalogue and EN/FR/ES/DE translations
    → static textures and assets

In Docker production:

Unprivileged Nginx (port 2502)
  → static files from dist/
  → SPA fallback to index.html
  → security headers

Inspected stack

LayerCurrent choice
InterfaceReact 19, strict TypeScript
3D renderingThree.js, React Three Fiber, Drei
StateZustand, in memory only
TransitionsMotion
BuildVite 6, Tailwind CSS 4
ContainerNode 22 for build, Nginx 1.27 Alpine at runtime
ChecksESLint, Vitest, npm run check

Two distinct artefacts

ArtefactCommandUse
Normal productnpm run buildDocker, GHCR, local development
Public demonpm run build:demodemo Vercel project only

The Dockerfile runs npm run build. vercel.json runs npm run build:demo. Do not swap them.