Decide-O-Mat — Build System & Firebase Components
v1.6 · From local dev to production via GitHub Actions
LOCAL DEVELOPMENT
Vite Dev Server
Hot Module Replacement
React 19 · Port 5173
Firebase Emulators
Auth Emulator :9099
Firestore Emulator :8080
Functions Emulator :5001
Emulator UI :4000
ESLint · Vitest · Playwright
firebase.json · .env.local
git push
Pull Request
GITHUB
Repository
CI-Till-Krempel/Decide-O-Mat
main branch · feature branches
version tags (v1.x.x)
Actions Triggers
push → main
→ deploy Staging
push version tag
→ deploy Production
Dependabot · PR checks
triggers
GITHUB ACTIONS (CI / CD)
Lint & Test
ESLint (frontend/ + functions/)
Vitest unit · Playwright E2E
Deploy → Staging
vite build + firebase deploy
Trigger: push to main
Deploy → Production
Trigger: version tag (v*.*.*)
push to main → Staging
version tag → Prod
STAGING ENVIRONMENT
decide-o-mat-staging · europe-west4
App Hosting (CDN)
decide-o-mat-staging--decide-o-mat-staging.europe-west4.hosted.app
Firebase Auth
Staging project
Google OAuth
Email / Password
Magic Links
Isolated from Prod
Firestore
Staging DB
decisions/
arguments/
Real-time
Functions
Node 20
deleteUser
Validation
Rate limit
PRODUCTION ENVIRONMENT
decide-o-mat-prod · europe-west4
App Hosting (CDN)
decide-o-mat-prod--decide-o-mat.europe-west4.hosted.app
Firebase Auth
Production project
Google OAuth
Email / Password
Magic Links
Live user accounts
Firestore
Production DB
decisions/
arguments/
Encrypted
Real-time
Functions
Node 20
deleteUser
Validation
Rate limit
Admin SDK