page:blueprints:cosmetic dentistry:campaign site:next js

Cosmetic dentistry: campaign site using Next.js

A campaign site blueprint for cosmetic dentistry built with Next.js on Ample. Domain schema: treatments (code, name, description, session_count, price_from): whitening, veneers, bonding and aligner offerings; before_after_galleries (treatment_id, title, consent_reference, published): consented, de-identified case galleries; locations (name, address, phone, opening_hours): practice locations; financing_options (name, provider, terms_summary): payment plans presented publicly; asset_versions (version, cdn_key, published_at): versioned assets served from the CDN bucket. Public information: treatment catalog with session counts, consented case galleries, financing options, locations and hours. Kept out of scope until handling is reviewed: patient photographs without documented consent, clinical records, payment details. Case photographs are patient data; publish only with documented consent and de-identification. No health-data compliance is claimed.

Technical basis verified on Next.js: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL.

Representative Queries

Resource Requirements

Infrastructure Requirements

Prerequisites

  1. A Next.js project (next build then next start -H 0.0.0.0 -p $PORT on the node-22 template)
  2. Bucket credentials from ample bucket create passed as encrypted S3_* environment variables and a published bucket for public assets (CDN_*)
  3. A review of which cosmetic dentistry data classes may be handled at all; this blueprint models public information only

Workflow Steps

  1. Create the tables treatments, before_after_galleries, locations, financing_options, asset_versions. Whitening, veneers, bonding and aligner offerings lives in treatments; keep the sensitive classes (patient photographs without documented consent, clinical records, payment details) out of this schema.
  2. Model the campaign's offers and locations as tables with start and end dates.
  3. Build the site and publish versioned static assets to the CDN bucket.
  4. Collect no personal data on the site itself; hand off to an authorized system.
  5. Deploy, verify the public URL and the CDN asset URL, and retire the campaign by end date.
  6. Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
  7. Run the pattern self-test(s) from the example (/p/versioned-static-assets) and your own acceptance checks for the cosmetic dentistry workflow.

Limitations

Cost Estimate

Currency: USD
Monthly Amount: $5.00
Basis: size prices from pricing.toml (loaded by the API)

Examples