page:blueprints:professional training:asset library:laravel

Professional training: asset library using Laravel

Summary:
A asset library blueprint for professional training built with Laravel on Ample. Domain schema:

Representative Queries:

Resource Requirements

Infrastructure Requirements

Framework: Laravel
Workload: Asset library
Industry: Professional training
Release Status: Published
Support Status: Verified
Execution Status: Ready
Docs Only: False

Prerequisites

  1. A Laravel project (composer install --no-dev from composer.lock, then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template).
  2. A PostgreSQL driver reading DATABASE_URL (auto-provisioned when omitted).
  3. Bucket credentials from ample bucket create passed as encrypted S3_* environment variables.
  4. A review of which professional training data classes may be handled; this blueprint models public information only.

Workflow Steps

  1. Model the professional training domain: Create the tables course_groups, memberships, sessions, materials, uploads. Certification cohorts live in course_groups; sensitive classes (exam results, employer billing, participant identity) are kept out of this schema.
  2. Validate uploads and store them in the private bucket; link each object to its row.
  3. Authorize downloads by membership.
  4. Deploy and verify rejection of disallowed files and a linked upload.
  5. 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=...
  6. Verify: Run the pattern self-test(s) from the example (/p/browser-file-uploads) and your own acceptance checks for the professional training workflow.
    • Command: ample logs --kind build

Success Checks

  1. app responds on its public URL
    • Kind: http_get
    • Path: /
    • Expect: ample canary laravel patterns
  2. 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

Evidence Summary

Next Actions

  1. Browse the catalog index
    • Action ID: browse-catalog
    • Operation ID: catalog_index
    • Method: GET
    • Relative Path: /v1/catalog
    • Requires Authentication: False
  2. Search published recipes by intent, stack and constraints
    • Action ID: search-recipes
    • Operation ID: search_recipes
    • Method: POST
    • Relative Path: /v1/catalog/search
    • Parameters: {"body":{"limit":5,"query":"Professional training: asset library using Laravel"}}
    • Requires Authentication: False
  3. Prepare a side-effect-free deployment plan for an authorized project
    • Action ID: plan:page:blueprints:professional-training:asset-library:laravel
    • Operation ID: plan_deployment
    • Method: POST
    • Relative Path: /v1/catalog/plan
    • Parameters: {"body":{"inputs":{},"projectId":"","recipeId":"page:blueprints:professional-training:asset-library:laravel","recipeRevision":"r1"}}
    • Requires Authentication: True