Multi-tenant Bootstrap

FaithCRM

Initial foundation for a pastoral platform serving multiple churches with schema isolation, Django backend and Next.js frontend.

Approach

One frontend, one backend, one PostgreSQL database and one isolated schema per church.

Routing

Each tenant is resolved by domain or subdomain before business logic touches the database.

API Base

/api

Repository foundation modules

  • Tenants and domains
  • Users and permissions
  • Campuses, ministries and groups
  • Configurable workflows
  • Reports and automations
Tenant = churchCampuses belong inside a tenant and should never be modeled as separate tenants.
Public schemaThe control plane lives in the shared schema: tenants, domains and platform-level records.
Configuration through dataChurch-level differences should come from metadata and configuration, not custom schema changes.