page:blueprints:digital agencies:form collection:laravel

Digital agencies: form collection using Laravel

A form collection blueprint for digital agencies built with Laravel on Ample. Domain schema:

Public information: services and case studies, team, contact. Kept out of scope until handling is reviewed: unreleased creative and campaign plans, client analytics exports, brand credentials. Unreleased creative is confidential; brand platform credentials never belong in these flows.

Technical basis verified on Laravel: content-type and size validation that rejects disallowed files, an object written to a private bucket, and a row linking the record to the object key (reject=ok upload=ok linked=ok).

Representative Queries

Resource Requirements

Infrastructure Requirements

  1. Compute

    • Status: verified
    • Summary: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
  2. Postgres

    • Status: verified
    • Summary: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
  3. S3-compatible object storage

    • Status: verified
    • Summary: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.

Prerequisites

Workflow Steps

  1. Model the digital agencies domain: Create the tables client_entities, engagements, approval_rounds, deliverables, uploads.
  2. Workflow step 1: Model document requests per engagement with due dates and status.
  3. Workflow step 2: Validate uploaded files (type, size) before storing them in the private bucket and linking them to the request.
  4. Workflow step 3: Authorize uploads by client entity.
  5. Workflow step 4: Deploy and verify rejection of disallowed files and a linked upload.
  6. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
    • Command: ample deploy . --name --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=...
  7. Verify: Run the pattern self-test(s) from the example (/p/browser-file-uploads) and your own acceptance checks for the digital agencies workflow.
    • Command: ample logs --kind build

Examples

Success Checks

  1. Description: App responds on its public URL
    • Kind: http_get
    • Path: /
    • Expect: ample canary laravel patterns
  2. Description: Browser-file-uploads self-test from the example
    • Kind: http_get
    • Path: /p/browser-file-uploads
    • Expect: see the pattern fixture checks

Limitations

Cost Estimate

Next Actions