docs(02-02): complete contact form plan — SUMMARY, STATE, plans tracked
- Create 02-02-SUMMARY.md: contact form outcomes, decisions, deviations - Update STATE.md: position, decisions (nodemailer v7 pin, useActionState React 19, honeypot pattern) - Add 02-01-PLAN.md, 02-02-PLAN.md, 02-03-PLAN.md to version control - Mark MKTG-03 requirement complete Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
130
.planning/phases/02-marketing-site/02-03-PLAN.md
Normal file
130
.planning/phases/02-marketing-site/02-03-PLAN.md
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
phase: 02-marketing-site
|
||||
plan: 03
|
||||
type: execute
|
||||
wave: 2
|
||||
depends_on:
|
||||
- "02-01"
|
||||
- "02-02"
|
||||
files_modified: []
|
||||
autonomous: false
|
||||
requirements:
|
||||
- MKTG-01
|
||||
- MKTG-02
|
||||
- MKTG-03
|
||||
- MKTG-04
|
||||
|
||||
must_haves:
|
||||
truths:
|
||||
- "Visitor sees Teressa's photo and professional bio in the hero section"
|
||||
- "Visitor sees the testimonials carousel rotating automatically"
|
||||
- "Visitor sees the listings coming soon section"
|
||||
- "Visitor can submit the contact form and see the thank-you message"
|
||||
- "Sticky nav scrolls to correct sections"
|
||||
artifacts:
|
||||
- path: "teressa-copeland-homes/app/page.tsx"
|
||||
provides: "Assembled homepage at localhost:3000"
|
||||
- path: "teressa-copeland-homes/lib/contact-action.ts"
|
||||
provides: "Working server action"
|
||||
key_links:
|
||||
- from: "Contact form"
|
||||
to: "submitContact server action"
|
||||
via: "form submission in browser"
|
||||
pattern: "network request to server action"
|
||||
---
|
||||
|
||||
<objective>
|
||||
Human verification of the complete Phase 2 marketing site before marking the phase complete.
|
||||
|
||||
Purpose: Confirm all four MKTG requirements are visually correct and the contact form works end-to-end in a real browser.
|
||||
Output: Phase 2 marked complete (or issues fed back for gap closure).
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@/Users/ccopeland/.claude/get-shit-done/workflows/execute-plan.md
|
||||
@/Users/ccopeland/.claude/get-shit-done/templates/summary.md
|
||||
</execution_context>
|
||||
|
||||
<context>
|
||||
@/Users/ccopeland/temp/red/.planning/phases/02-marketing-site/02-01-SUMMARY.md
|
||||
@/Users/ccopeland/temp/red/.planning/phases/02-marketing-site/02-02-SUMMARY.md
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Start dev server and run smoke check</name>
|
||||
<files></files>
|
||||
<action>
|
||||
Run the dev server and verify the page renders without runtime errors:
|
||||
|
||||
```bash
|
||||
cd /Users/ccopeland/temp/red/teressa-copeland-homes
|
||||
npm run build && echo "BUILD OK"
|
||||
```
|
||||
|
||||
Then start dev server (background) and confirm the page loads:
|
||||
```bash
|
||||
npm run dev &
|
||||
sleep 3
|
||||
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000
|
||||
```
|
||||
|
||||
Expected: HTTP 200. If not 200, read the dev server output for errors and fix before proceeding to the checkpoint.
|
||||
</action>
|
||||
<verify>
|
||||
<automated>cd /Users/ccopeland/temp/red/teressa-copeland-homes && npm run build 2>&1 | grep -E "(error|Error|BUILD)" | tail -10</automated>
|
||||
</verify>
|
||||
<done>Build succeeds and localhost:3000 returns HTTP 200.</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:human-verify" gate="blocking">
|
||||
<what-built>
|
||||
Complete Phase 2 marketing homepage at http://localhost:3000 including:
|
||||
- Sticky nav with wordmark and anchor links
|
||||
- Split-panel hero with Teressa's photo and placeholder bio copy
|
||||
- Auto-scrolling testimonials carousel (5 sections, arrows, dots)
|
||||
- Listings Coming Soon placeholder section
|
||||
- Contact form with name/email/phone/message fields
|
||||
- Footer with license number and copyright
|
||||
</what-built>
|
||||
<how-to-verify>
|
||||
Visit http://localhost:3000 and check each item:
|
||||
|
||||
1. STICKY NAV: Scroll down — does the nav stay fixed at the top? Do the anchor links (Home, About, Listings, Contact) scroll smoothly to the correct sections?
|
||||
|
||||
2. HERO: Does the left panel show Teressa's photo? Does the right panel show a headline, bio paragraph, and gold "Get in Touch" button? Does the button scroll to the contact form?
|
||||
|
||||
3. TESTIMONIALS: Does the carousel auto-advance after ~5 seconds? Does hovering pause it? Do the left/right arrows work? Do the dots work?
|
||||
|
||||
4. LISTINGS PLACEHOLDER: Is there a navy-background section with "Listings Coming Soon" text?
|
||||
|
||||
5. CONTACT FORM: Fill in all four fields (name, email, phone, message) and submit. Does the form show "Thanks! Teressa will be in touch soon." after submission? (Note: actual email delivery requires SMTP env vars configured — the swap to the thank-you message proves the server action ran.)
|
||||
|
||||
6. FOOTER: Is the license number present with a comment visible in the page source (`<!-- TODO: Verify license number`)? Is the copyright year correct (2026)?
|
||||
|
||||
7. MOBILE: Resize browser to ~375px wide. Does a hamburger menu appear? Does tapping it open the nav links?
|
||||
</how-to-verify>
|
||||
<resume-signal>Type "approved" if all items pass. Describe any issues (e.g., "carousel arrows not showing", "nav not sticky") and Claude will fix them.</resume-signal>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
All four MKTG requirements satisfied:
|
||||
- MKTG-01: Hero section with photo and bio visible
|
||||
- MKTG-02: Listings coming soon placeholder visible
|
||||
- MKTG-03: Contact form submits and shows success state
|
||||
- MKTG-04: Testimonials carousel visible and rotating
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- Human approves all 7 checklist items
|
||||
- No runtime errors in browser console
|
||||
- Mobile nav works on narrow viewport
|
||||
- Phase 2 complete: public homepage is live at localhost:3000
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `/Users/ccopeland/temp/red/.planning/phases/02-marketing-site/02-03-SUMMARY.md`
|
||||
</output>
|
||||
Reference in New Issue
Block a user