docs: switch infrastructure to local PostgreSQL + home Docker server (no Vercel/Neon)
This commit is contained in:
@@ -12,10 +12,10 @@ A dual-product build: a public real estate marketing site for a solo Utah agent
|
||||
|
||||
Decimal phases appear between their surrounding integers in numeric order.
|
||||
|
||||
- [ ] **Phase 1: Foundation** - Next.js project, database schema, Vercel Blob storage, and three-layer agent authentication
|
||||
- [ ] **Phase 1: Foundation** - Next.js project, local PostgreSQL database schema, and single-agent authentication (local dev; eventual home Docker server)
|
||||
- [ ] **Phase 2: Marketing Site** - Public-facing hero, bio, contact form, testimonials, and listings placeholder
|
||||
- [ ] **Phase 3: Agent Portal Shell** - Client management (create/view/profile) and dashboard skeleton with document status
|
||||
- [ ] **Phase 4: PDF Ingest** - Agent PDF upload, Vercel Blob storage pipeline, browser rendering, and document record creation
|
||||
- [ ] **Phase 4: PDF Ingest** - Agent PDF upload, local file storage pipeline, browser rendering, and document record creation
|
||||
- [ ] **Phase 5: PDF Fill and Field Mapping** - Drag-and-drop signature field placement, coordinate conversion, and agent text fill
|
||||
- [ ] **Phase 6: Signing Flow** - Complete end-to-end signing ceremony with legal compliance: email delivery, signing page, canvas capture, audit trail
|
||||
- [ ] **Phase 7: Audit Trail and Download** - Secure signed PDF download, document status tracking, and client-facing confirmation screen
|
||||
@@ -31,13 +31,13 @@ Decimal phases appear between their surrounding integers in numeric order.
|
||||
2. Agent session persists after browser refresh and tab close — agent does not have to log in again
|
||||
3. Visiting any `/agent/*` route while unauthenticated redirects to the login page (not a 404 or blank screen)
|
||||
4. Agent can log out from the portal and is returned to the login page
|
||||
5. Database schema is deployed to Neon, Vercel Blob bucket is created, and the project is deployed to Vercel with environment variables wired
|
||||
5. Local PostgreSQL database is running and schema is applied (`db:migrate`), seed account created, and `npm run dev` serves the app at localhost:3000
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 01-01-PLAN.md — Next.js scaffold, Drizzle schema, Auth.js v5 config, route-protection middleware, seed script
|
||||
- [ ] 01-02-PLAN.md — Branded login page, agent portal layout, dashboard stub, logout mechanism
|
||||
- [ ] 01-03-PLAN.md — Git push, Vercel deployment, production auth flow verification (checkpoint)
|
||||
- [ ] 01-03-PLAN.md — Local environment setup (.env.local, db:migrate, db:seed) and local auth flow verification (checkpoint)
|
||||
|
||||
### Phase 2: Marketing Site
|
||||
**Goal**: Visitors can find Teressa online, see her brand, view the listings placeholder, and submit a contact inquiry
|
||||
@@ -66,14 +66,14 @@ Plans: none yet
|
||||
Plans: none yet
|
||||
|
||||
### Phase 4: PDF Ingest
|
||||
**Goal**: Agent can upload a PDF form, see it rendered in the browser, and it is stored safely in Vercel Blob
|
||||
**Goal**: Agent can upload a PDF form, see it rendered in the browser, and it is stored safely on the local filesystem / Docker volume
|
||||
**Depends on**: Phase 3
|
||||
**Requirements**: DOC-01, DOC-02, DOC-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. Agent can upload a PDF form (manual upload — no utahrealestate.com scraping) and the document appears in the portal
|
||||
2. Agent can view the uploaded PDF rendered in the browser on the document detail page
|
||||
3. The forms library reflects updated forms on at least a monthly basis (automated sync or manual re-upload path defined and working)
|
||||
4. Uploaded PDFs are stored in Vercel Blob (not local filesystem) and survive server restarts
|
||||
4. Uploaded PDFs are stored in the local uploads directory (Docker volume on home server) and survive server restarts
|
||||
**Plans**: TBD
|
||||
|
||||
Plans: none yet
|
||||
@@ -114,7 +114,7 @@ Plans: none yet
|
||||
**Requirements**: SIGN-07, LEGAL-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. Agent can download the signed PDF from the dashboard via an authenticated presigned URL (5-minute TTL)
|
||||
2. Signed PDFs are stored in private Vercel Blob storage — a direct or guessable URL returns an access error, not the file
|
||||
2. Signed PDFs are stored in a private local directory (not publicly accessible) — a direct or guessable URL returns an access error, not the file
|
||||
3. Document status in the dashboard updates correctly to "Signed" after a signing ceremony completes
|
||||
**Plans**: TBD
|
||||
|
||||
|
||||
Reference in New Issue
Block a user