Sitemap, wireframes, architecture overview, and tech stack for the gamified fitness PWA.
Mobile — Dashboard (375px)
Desktop — Dashboard (≥768px)
How data moves through the system:
Manual entry
Health Connect webhook
Habits & streaks
Telemetry
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Vanilla JS (ES2022) + PWA | SPA with service worker, offline support, install prompt |
| Frontend | Material Symbols Rounded | Icon library (Google CDN, variable font) |
| Frontend | Web Audio API | Synthesized UI sounds (no audio files) |
| Backend | Node.js + Express 4 | REST API server |
| Backend | PostgreSQL 16 | Primary database — users, workouts, diet, habits, analytics |
| Backend | Redis 7 | Session storage, rate-limit counters, caching |
| Backend | bcrypt + JWT | Password hashing + stateless auth tokens |
| Infra | Docker Compose | Local + production orchestration (app, postgres, redis) |
| Infra | Nginx | Reverse proxy, TLS termination, static caching |
| Integrations | Google Health Connect | Android webhook for passive step/workout data |
| Integrations | Fitbit OAuth2 | Workout + sleep data import |
View live telemetry → | About FitQuest → | Back to app →