Deploy to Production
Deploy FloodSafe services with pre-deploy verification gates.
Pre-Deploy Quality Gates (ALL must pass)
Run these checks sequentially. If any fail, STOP and report the failure:
- •
TypeScript type check:
bashcd apps/frontend && npx tsc --noEmit
- •
Frontend build:
bashcd apps/frontend && npm run build
- •
Frontend lint:
bashcd apps/frontend && npm run lint
- •
Backend tests (quick):
bashcd apps/backend && python -m pytest -m "not db_required" -q
If any gate fails, report the error and do NOT proceed to deployment.
Deployment
Check $ARGUMENTS for target. If not specified, ask the user: frontend, backend, or both?
Frontend (Vercel)
bash
cd apps/frontend && npx vercel --prod
Backend (Koyeb)
bash
./koyeb-cli-extracted/koyeb.exe services redeploy floodsafe-backend/backend
Post-Deploy Verification
After deployment completes, run health checks:
- •Frontend: Fetch
https://frontend-lime-psi-83.vercel.appand verify it loads - •Backend:
curl https://floodsafe-backend-floodsafe-dda84554.koyeb.app/health— expect{"status": "healthy"}
Report results with:
- •✅/❌ for each gate
- •✅/❌ for each deployment
- •✅/❌ for each health check
- •Production URLs for quick access