# Endodontics: Campaign Site Using Laravel

## Summary
A campaign site blueprint for endodontics built with Laravel on Ample. Domain schema:
- **procedures** (code, name, description, typical_visits): root canal and retreatment procedures;
- **referral_guides** (procedure_id, referring_dentist_checklist, imaging_needed): public guidance for referring practices;
- **locations** (name, address, phone, opening_hours): clinic locations;
- **endodontists** (name, registration_number, technologies): specialists and equipment listed publicly;
- **asset_versions** (version, cdn_key, published_at): versioned assets served from the CDN bucket.

Public information includes:
- procedure catalog;
- referral guidance for general dentists;
- specialist profiles and technology;
- clinic locations.

### Technical Basis
Verified on Laravel: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL.

## Workflow Steps
1. **Model the endodontics domain**: Create the tables procedures, referral_guides, locations, endodontists, asset_versions. Keep sensitive classes out of this schema.
2. **Workflow step 1**: Model the campaign's offers and locations as tables with start and end dates.
3. **Workflow step 2**: Build the site and publish versioned static assets to the CDN bucket.
4. **Workflow step 3**: Collect no personal data on the site itself; hand off to an authorized system.
5. **Workflow step 4**: Deploy, verify the public URL and the CDN asset URL, and retire the campaign by end date.
6. **Deploy**: Run the synchronous deploy once and read the result.
   - **Command**: `ample deploy . --name  --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=... --env CDN_PUBLIC_URL=...`
7. **Verify**: Run the self-test(s) from the example and your own acceptance checks for the endodontics workflow.
   - **Command**: `ample logs  --kind build`

## Resource Requirements
- **Compute**: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle.
- **CDN**: The CDN host serves objects from published buckets.

## Cost Estimate
- **Monthly Amount**: $5.00
  - Basis: size prices from pricing.toml.

## Limitations
- No health, financial, privacy, or other compliance claim is made. Referral documents carry patient identity and should be kept out of these workflows.
- Verified on the php-8.5 template at size s-1vcpu-1gb; region, request-duration limits, and other sizes are unknown or unverified.

## 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 Endodontics**  
  *(GET /v1/catalog/nodes/industry:endodontics)*  
- **Browse Campaign site**  
  *(GET /v1/catalog/nodes/workload:campaign-site)*  
- **Browse Laravel**  
  *(GET /v1/catalog/nodes/stack:framework-laravel)*  
- **Browse Deploy web app**  
  *(GET /v1/catalog/nodes/intent:deploy-web-app)*

## Evidence Summary
- **Summary**: Laravel pattern fixture deployed on Ample; public web service checks passed. The blueprint's Endodontics schema and workflow build on that verified basis.

## Success Checks
- **App responds on its public URL**  
  (Expect: amply canary laravel patterns)
- **Versioned-static-assets self-test**  
  (Expect: see the pattern fixture checks)
