page:blueprints:developer tools:client portal:django

Developer tools: client portal using Django

Summary

A client portal blueprint for developer tools built with Django on Ample. Domain schema:

Public information: versioned API reference and guides, SDK release notes, status page links.
Kept out of scope until handling is reviewed: customer API keys and usage logs, private integration details.
API keys and usage logs are secrets or personal data; keep them out of documentation workflows.
Technical basis verified on Django: a role-to-document access model with negative tests (401 without identity, 403 for the wrong role) and a private-bucket round-trip for the allowed role (private=ok).

Representative Queries

Workflow Steps

  1. Model the developer tools domain
    Create the tables customer_workspaces, doc_versions, sdk_releases, customer_assets, document_access. Customer organizations live in customer_workspaces; keep the sensitive classes (customer API keys and usage logs, private integration details) out of this schema.
  2. Workflow step 1
    Model client entities and engagement periods; every document belongs to one engagement.
  3. Workflow step 2
    Authorize by client entity and role before any storage access (401 without identity, 403 for the wrong client).
  4. Workflow step 3
    Store documents in the private bucket and stream them through the app.
  5. Workflow step 4
    Deploy and verify the negative authorization tests and an authorized download.
  6. Deploy
    Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
  7. Verify
    Run the pattern self-test(s) from the example (/p/private-document-library) and your own acceptance checks for the developer tools workflow.

Prerequisites

Cost Estimate

Limitations

Evidence Summary

Next Actions

For detailed guidance on each section, refer to the respective documentation or blueprint.