page:blueprints:architecture practices:form collection:laravel

Architecture practices: form collection using Laravel

Summary

A form collection blueprint for architecture practices built with Laravel on Ample. Domain schema:

Public information includes: portfolio and services, team and accreditations, studio locations. Kept out of scope until handling is reviewed: unreleased drawings and site surveys, planning submissions before filing, client contact details. Drawings and surveys are client-confidential until issued; the portal models per-project authorization only.

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: 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: 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: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.

Workflow Steps

  1. Model the architecture practices domain: Create the tables client_entities, projects, drawing_sets, approvals, uploads. Avoid sensitive classes (unreleased drawings, site surveys, client contact details).
  2. Validate: Validate uploaded files (type, size) before storing them in the private bucket and linking them to the request.
  3. Authorize uploads: Authorize uploads by client entity.
  4. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
  5. Verify: Run the pattern self-test(s) from the example and your own acceptance checks for the architecture practices workflow.

Success Checks

Limitations

Cost Estimate

Next Actions