How johnpbell7/birth-hood works
birth-hood is a public website for birth and parenting support, with service information, editorial content, a client resource hub and a digital shop. Visitors browse services or resources, then enquire through the contact form, follow booking links, or purchase downloads. Shop checkout uses Sanity product data and Stripe; a Stripe webhook sends download links by email, which can be served through the download route. Sanity also supplies editable pages and content. The map reflects the documented capabilities and sampled routes; unsampled page-to-query wiring is shown only where supported by the README or route structure.
Main entry points: sanity-queries.ts Sanity Queries · stripe-webhook/route.ts Order Fulfilment · download/route.ts Download Handler · checkout/route.ts Checkout Handler
Components 23
Public Website
- Home And Service Pages
app/page.tsx - Service Pages
app/hypnobirthing/page.tsx - Blog And Stories
app/blog/page.tsx - Reviews
app/reviews/page.tsx - Booking Page
app/booking/page.tsx
Content Platform
- Sanity Studio
app/(studio)/studio/[[...tool]]/page.tsx - CMS Pages
app/[slug]/page.tsx - Page Renderer
components/sections/PageRenderer.tsx - Sanity Queries
lib/sanity-queries.ts - Sanity Client
lib/sanity.ts
Digital Shop
- Shop Interface
components/ShopClient.tsx - Checkout Handler
app/api/checkout/route.ts - Order Fulfilment
app/api/stripe-webhook/route.ts - Download Handler
app/api/download/route.ts - Download Tokens
lib/download-token.ts
Enquiries And Hub
- Contact Form
app/contact/ContactForm.tsx - Contact Handler
app/api/contact/route.ts - Client Hub
app/hub/HubClient.tsx
Other components
- Visitor
- Sanity CMS
- Resend Email
- Stripe
- File CDN
Connections 29
- Visitor → Home And Service Pages: browses
- Visitor → Service Pages: browses
- Visitor → Blog And Stories: reads
- Visitor → Reviews: reads
- Visitor → Booking Page: books
- Visitor → Contact Form: submits
- Visitor → Shop Interface: shops
- Visitor → Client Hub: opens
- Sanity Studio → Sanity CMS: edits content
- CMS Pages → Page Renderer: renders blocks
- CMS Pages → Sanity Queries: loads page
- Sanity Queries → Sanity Client: queries via
- Sanity Client → Sanity CMS: reads
- Blog And Stories → Sanity Queries: loads posts
- Reviews → Sanity Queries: loads reviews
- Contact Form → Contact Handler: posts enquiry
- Contact Handler → Resend Email: sends emails
- Shop Interface → Checkout Handler: starts checkout
- Checkout Handler → Sanity Queries: loads products
- Checkout Handler → Stripe: creates session
- Stripe → Order Fulfilment: dispatches event
- Order Fulfilment → Sanity Queries: loads purchased files
- Order Fulfilment → Download Tokens: signs links
- Order Fulfilment → Resend Email: emails downloads
- Visitor → Download Handler: opens link
- Download Handler → Download Tokens: verifies token
- Download Handler → Sanity Queries: loads file record
- Download Handler → File CDN: streams file
- Client Hub → Sanity Queries: loads resources