Skip to main content

Developer documentation

Engineering reference for GreekManage — the multi-tenant platform for fraternity and sorority management.

This section is for engineers who build, integrate with, deploy, or contribute to GreekManage. For end-user help, see the user guides instead.

What's here

SectionWhat you'll find
Getting startedLocal dev environment via Docker Compose, env vars, common tasks
Tech stackLanguages, frameworks, libraries, and why we picked each
ArchitectureSystem diagrams, data model, multi-tenancy, auth, permissions, AI pipeline
AppsPer-app deep dive — 23 Django apps, their models, views, tasks
OperationsKubernetes deployment, CI/CD, testing, observability
API ReferenceAuto-generated from drf-spectacular — every endpoint, schema, and try-it-out
ContributingBranch naming, PR workflow, code review, security gates

At a glance

  • Backend: Python 3.13 + Django 6.0 + DRF 3.17 (Daphne for ASGI / WebSockets)
  • Frontend: React 19 + TypeScript 5.9 + Vite 7 + Tailwind 4 (shadcn/ui)
  • Database: PostgreSQL 17 with pgvector, Row-Level Security per tenant
  • Cache + queue: Redis 7 (Celery broker + Channels layer)
  • Object storage: MinIO in dev, S3 / S3-compatible in prod
  • AI providers: Anthropic Claude (default), OpenAI, Google Gemini — BYOM per org
  • Deployment: Docker Compose (dev), Kubernetes (prod) with cert-manager + nginx-ingress
  • Mobile: Capacitor 8 (iOS + Android) with biometric unlock and push

Tenancy model

Platform (one)
└── Organization (one per customer — national HQ)
├── Region (zero or more)
│ └── Chapter (one or more)
│ └── Member (Membership row links a User to a Chapter)
└── Module licensing (9 toggles per org)

Tenant isolation is enforced via PostgreSQL Row-Level Security policies on org-scoped tables, set per request through OrganizationContextMiddleware. → Multi-tenancy & RLS

How content here relates to the user guide

The user-facing module pages (e.g. Operations module) describe what users do. The developer pages here describe how the code works — model schemas, permission checks, signals, Celery tasks, integration points. Same modules, different lenses.

Repository

github.com/amankundlas/greekmanage — primary source of truth.

Documentation source for this site: docs-site/ directory in the repo. Edit pages directly there and open a PR.

Conventions used in these docs

  • File paths are relative to the repo root unless specified, e.g. backend/apps/common/permissions.py:100
  • Mermaid diagrams are inline; click to expand on smaller screens
  • Code samples are copy-paste-ready unless marked with comments like # replace with your value
  • <Callout> blocks flag important context, notes, and tips

Where to start

You want to…Start here
Spin up the stack locallyGetting started
Understand the system shapeArchitecture overview
Find where a model livesData model
Call an endpointAPI reference
Open a PRContributing
Deploy to productionDeployment