page:blueprints:logistics operators:reporting dashboard:django

Logistics operators: reporting dashboard using Django

Summary: A reporting dashboard blueprint for logistics operators built with Django on Ample.
Domain schema:

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 logistics operators domain:
    Create the tables service_products, capacity_movements, shipments, shipment_lines, exports. Sensitive classes (consignee addresses, commercial invoices, customs documents) are excluded from this schema.

  2. Workflow step 1:
    Model report definitions scoped to the agency.

  3. Workflow step 2:
    Generate report artifacts from queries and store them with metadata.

  4. Workflow step 3:
    Authorize downloads (401 without identity).

  5. Workflow step 4:
    Deploy and verify an authorized export and the rejected anonymous request.

  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 --start "python3 run.py" --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/generated-downloads) and your own acceptance checks for the logistics operators workflow.
    Command: ample logs --kind build

Examples

Success Checks

  1. app responds on its public URL

    • Expected: ample canary django patterns
    • Method: http_get
    • Path: /
  2. generated-downloads self-test from the example

    • Expected: see the pattern fixture checks
    • Method: http_get
    • Path: /p/generated-downloads

Limitations

Cost Estimate

Evidence Summary

Next Actions

  1. Browse the catalog index

    • Method: GET
    • Relative Path: /v1/catalog
    • Requires Authentication: No
  2. Search published recipes by intent, stack and constraints

    • Method: POST
    • Relative Path: /v1/catalog/search
    • Parameters: {"body":{"limit":5,"query":"Logistics operators: reporting dashboard using Django"}}
    • Requires Authentication: No
  3. Prepare a side-effect-free deployment plan for an authorized project

    • Method: POST
    • Relative Path: /v1/catalog/plan
    • Parameters: {"body":{"inputs":{},"projectId":"","recipeId":"page:blueprints:logistics-operators:reporting-dashboard:django","recipeRevision":"r1"}}
    • Requires Authentication: Yes
  4. Read the existing agent authentication setup

    • Method: GET
    • Relative Path: /mcp/setup
    • Requires Authentication: No
  5. Browse Logistics operators

    • Method: GET
    • Relative Path: /v1/catalog/nodes/industry%3Alogistics-operators
    • Requires Authentication: No
  6. Browse Reporting dashboard

    • Method: GET
    • Relative Path: /v1/catalog/nodes/workload%3Areporting-dashboard
    • Requires Authentication: No
  7. Browse Django

    • Method: GET
    • Relative Path: /v1/catalog/nodes/stack%3Aframework-django
    • Requires Authentication: No
  8. Browse Deploy web app

    • Method: GET
    • Relative Path: /v1/catalog/nodes/intent%3Adeploy-web-app
    • Requires Authentication: No