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 assetsIn Docker production:
Unprivileged Nginx (port 2502)
→ static files from dist/
→ SPA fallback to index.html
→ security headersInspected stack
| Layer | Current choice |
|---|---|
| Interface | React 19, strict TypeScript |
| 3D rendering | Three.js, React Three Fiber, Drei |
| State | Zustand, in memory only |
| Transitions | Motion |
| Build | Vite 6, Tailwind CSS 4 |
| Container | Node 22 for build, Nginx 1.27 Alpine at runtime |
| Checks | ESLint, Vitest, npm run check |
Two distinct artefacts
| Artefact | Command | Use |
|---|---|---|
| Normal product | npm run build | Docker, GHCR, local development |
| Public demo | npm run build:demo | demo Vercel project only |
The Dockerfile runs npm run build. vercel.json runs npm run build:demo. Do not swap them.