page:blueprints:membership associations:member portal:django

Membership associations: member portal using Django

Summary

A member portal blueprint for membership associations built with Django on Ample.
Domain schema:

Representative Queries

Resource Requirements

Infrastructure Requirements

Workflow Steps

  1. Model the membership associations domain
    Create the tables course_groups, memberships, sessions, materials, document_access. Chapters and programs as groups live in course_groups; keep the sensitive classes (member directory details, dues and payment records) out of this schema.
  2. Model groups, memberships and roles
  3. Authorize access to materials by membership and role (401, 403 negative tests)
  4. Store materials in the private bucket and stream them through the app
  5. Deploy
    Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
    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=...  
    
  6. Verify
    Run the pattern self-test(s) from the example (/p/private-document-library) and your own acceptance checks for the membership associations workflow.
    ample logs --kind build  
    

Limitations

Cost Estimate

Examples

Success Checks