page:blueprints:general dentistry:campaign site:next js
General dentistry: campaign site using Next.js
A campaign site blueprint for general dentistry built with Next.js on Ample. Domain schema:
- services (code, name, description, duration_minutes, price_from): the treatments a practice offers;
- locations (name, address, phone, opening_hours, accessibility_notes): each practice location;
- dentists (name, registration_number, specialties, location_id): the clinicians listed publicly;
- insurance_plans (name, accepted_at_location_id): plans accepted per location;
- asset_versions (version, cdn_key, published_at): versioned assets served from the CDN bucket.
Public information:
- Service catalog with prices from, locations, hours and parking, clinician profiles and registrations, accepted insurance plans.
- Kept out of scope until handling is reviewed: patient identity and contact details, clinical records, x-rays and treatment notes, appointment history tied to a person. Patient data is health data. Keep it out of these workflows until handling requirements (for example HIPAA in the United States) have been reviewed; nothing here establishes compliance.
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:
- General dentistry: campaign site using Next.js
- Where can I host General dentistry: Campaign site built with Next.js?
- I need a genuinely specialized campaign site workflow covering public service catalog and location-specific information; no patient data.
Resource Requirements:
- Primitive: compute
- Primitive: cdn
Infrastructure Requirements:
- Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
- CDN: The CDN host serves objects from published buckets. It does not front app compute and is not a cache or key-value store.
Prerequisites:
- A Next.js project (next build then next start -H 0.0.0.0 -p $PORT on the node-22 template)
- Bucket credentials from
ample bucket createpassed as encrypted S3_* environment variables and a published bucket for public assets (CDN_*) - A review of which general dentistry data classes may be handled at all; this blueprint models public information only.
Tested Configuration:
- Template: node-22
- Runtime: node
- Size: s-1vcpu-1gb
- Install: npm install
- Build: npm run build --if-present
- Start: npm run start
Limitations:
- The technical basis (public web service on Next.js) was verified with the pattern fixture; the general dentistry schema and workflow are an original design for this blueprint and were not executed as a separate application.
- No health, financial, privacy, or other compliance claim is made. Patient data is health data. Keep it out of these workflows until handling requirements (for example HIPAA in the United States) have been reviewed; nothing here establishes compliance.
- Verified on the node-22 template at s-1vcpu-1gb; region, request-duration limits and other sizes are unknown or unverified.
- PutObject and GetObject with path-style addressing are verified; other S3 operations and CDN cache rules are not.
Cost Estimate:
- Currency: USD
- Monthly Amount: 5.0
- Basis: size prices from pricing.toml (loaded by the API) at build revision 1ac5595375130d45290090e82ed0f554ccd45405-dirty
- Components:
- App server: size s-1vcpu-1gb, quantity 1.0, monthly amount 5.0
- Note: Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.
Examples:
- Next.js pattern fixture: Verified public web service basis for this blueprint.
- Source Ref: tests/deploy-canaries/next-js-patterns
Next Actions:
- Browse the catalog index: GET /v1/catalog
- Search published recipes by intent, stack and constraints: POST /v1/catalog/search
- Prepare a side-effect-free deployment plan for an authorized project: POST /v1/catalog/plan
- Read the existing agent authentication setup: GET /mcp/setup
- Browse General dentistry: GET /v1/catalog/nodes/industry%3Ageneral-dentistry
- Browse Campaign site: GET /v1/catalog/nodes/workload%3Acampaign-site
- Browse Next.js: GET /v1/catalog/nodes/stack%3Aframework-next-js
- Browse Deploy web app: GET /v1/catalog/nodes/intent%3Adeploy-web-app
Success Checks:
- App responds on its public URL
- Versioned-static-assets self-test from the example