page:blueprints:publishing:asset library:django
Publishing: asset library using Django
Summary: A asset library blueprint for publishing built with Django on Ample. Domain schema: titles (isbn_or_slug, title, author, imprint, published_at): the catalog of titles; editions (title_id, format, version, object_key): editions and versioned files; customer_workspaces (name, license_type, seat_count): institutional or trade customers; customer_assets (workspace_id, title_id, object_key, license_expires_at): licensed files per customer; uploads (id, owner_reference, object_key, content_type, size, uploaded_at): validated uploads linked to their owner. Public information: title catalog and author pages, release schedules, rights and permissions contact. Kept out of scope until handling is reviewed: unreleased manuscripts, royalty statements, customer license keys. Manuscripts and royalty data are confidential; licensed files are authorized per customer workspace.
Framework and Industry
- Framework: Django
- Workload: Asset library
- Industry: Publishing
Resource Requirements
- Compute: Isolated x86_64 Firecracker microVMs.
- Postgres: Managed PostgreSQL 16 runs in microVM and is auto-provisioned.
- S3-compatible object storage: Buckets are S3-compatible.
Workflow Steps
- Model the publishing domain: Create the tables for titles, editions, customer workspaces, customer assets, and uploads.
- Model assets linked to their owning group or workspace.
- Validate uploads and store them in the private bucket; link each object to its row.
- Authorize downloads by membership.
- Deploy and verify rejection of disallowed files and a linked upload.
- Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
Cost Estimate
- Monthly Amount (USD): 10.0
- Components:
- App server: 5.0
- Managed PostgreSQL database: 5.0
- Components:
- Note: Always-on monthly price of the tested sizes; buckets are allocation-priced per quota and not included.
Limitations
- Public content and synthetic examples only until actual data-handling requirements reviewed.
- Verified on the python-3.12 template; region, request-duration limits and other sizes are unknown.
- No health, financial, privacy, or other compliance claims are made.
Examples
- Title: Django pattern fixture
Description: Verified browser file uploads basis for this blueprint.