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
| Section | What you'll find |
|---|---|
| Getting started | Local dev environment via Docker Compose, env vars, common tasks |
| Tech stack | Languages, frameworks, libraries, and why we picked each |
| Architecture | System diagrams, data model, multi-tenancy, auth, permissions, AI pipeline |
| Apps | Per-app deep dive — 23 Django apps, their models, views, tasks |
| Operations | Kubernetes deployment, CI/CD, testing, observability |
| API Reference | Auto-generated from drf-spectacular — every endpoint, schema, and try-it-out |
| Contributing | Branch 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 locally | Getting started |
| Understand the system shape | Architecture overview |
| Find where a model lives | Data model |
| Call an endpoint | API reference |
| Open a PR | Contributing |
| Deploy to production | Deployment |