40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# Phase 2A — Remaining work before this backend goes live
|
|
|
|
This backend (Firestore, Storage, Cloud Functions) was built entirely with placeholder
|
|
values because Task 1 of `docs/superpowers/plans/2026-08-04-phase2a-backend-foundation.md`
|
|
(manual Firebase/Resend account setup) hadn't been done yet. Before deploying for real:
|
|
|
|
## 1. Complete Task 1 of the plan
|
|
Create the Firebase project, upgrade to Blaze, enable Firestore/Auth/Storage,
|
|
create Mira's admin user, register a web app, create a Resend account + API key,
|
|
authenticate the Firebase CLI. Full instructions are in the plan's Task 1.
|
|
|
|
## 2. Replace these 4 placeholder values with real ones from Task 1
|
|
|
|
| Placeholder | Real value goes in | Also appears in |
|
|
|---|---|---|
|
|
| `demo-braids-by-mira` (fake project id) | `.firebaserc` | `package.json`'s `test:rules` script, `firebase-tests/firestore.rules.test.ts` |
|
|
| `dev-admin-placeholder-uid` (fake admin UID) | `firestore.rules`, `storage.rules` | `firebase-tests/firestore.rules.test.ts` |
|
|
| `bookings@braidsbymira.com` (placeholder from-address) | `functions/src/index.ts` (`FROM_ADDRESS`) | — must match a Resend-verified sending domain |
|
|
| `hello@braidsbymira.com` (placeholder Mira email) | `functions/src/index.ts` (`MIRA_EMAIL`) | — replace only if Mira's real notification inbox differs |
|
|
|
|
Also update `.env.local` (gitignored, not committed) with the real Firebase web app
|
|
config from Task 1, Step 5 — copy `.env.example` if you haven't already.
|
|
|
|
## 3. Run the one manual CLI step Task 6 skipped
|
|
|
|
```bash
|
|
npx firebase-tools functions:secrets:set RESEND_API_KEY
|
|
```
|
|
|
|
## 4. Run Task 8 of the plan
|
|
|
|
Deploy rules + functions, seed production data, and run the two live smoke tests
|
|
(create a real booking/inquiry document, confirm `bookedSlots` updates and email
|
|
arrives). Full steps are in the plan's Task 8.
|
|
|
|
## 5. Delete this file
|
|
|
|
Once all of the above is done and verified, delete this file — it's a temporary
|
|
tracking note, not permanent documentation.
|