Skip to main content

All apps

Complete inventory of GreekManage's 23 Django apps. Each links to a deeper page where one exists.

AppPurposeModels
accountsUser identity, password, email verification, GDPR data export4
activityReal-time chapter / org feed + announcements2
ai_servicesLLM integrations, embeddings, AI reports, onboarding flows8
alumniAlumni mentorship, career postings, privacy settings4
authenticationSSO (SAML), OAuth (Google / Microsoft / Okta), LinkedIn integration, encrypted credential storage5
backupsAutomated DB + org export backups to S3 / MinIO2
commonShared models (TimeStampedModel, AuditLog), permissions, middleware, base utilities2
complianceNational requirements, chapter submissions, multi-tier review, alerts, KPI dashboards9
documentsGoverning docs (constitutions, bylaws, policies) with versioning + visibility controls2
electionsElection setup, voting, result tabulation, audit logging, runoff support6
eventsChapter event management, RSVP tracking, mandatory event compliance2
feedbackUser feedback collection, admin triage inbox1
financesDues management, invoicing, multi-gateway payment processing, ledger, refunds10
forumsEngage forums (private chapter discussions), posts, comments, attachments, moderation5
foundationTax-exempt fundraising, campaigns, public donate, donor CRM, receipts7
learningLMS — courses, lessons, quizzes, assessments, certificates, auto-assignment rules12
membersMember profiles, work history, skills, certifications, recognitions, family tree8
messagingDirect + group chat, message reactions, read receipts, threads7
notificationsIn-app + email notifications, per-event preferences, daily / weekly digests4
organizationsMulti-tenant core: Organization → Region → Chapter → Membership; admin tiers9
photosAlbum + photo management with tagging + chapter / org-wide visibility3
platformPlatform admin tier, module licensing, platform email config3
retentionMember retention analytics, snapshots, alerts, retention surveys6

Total: 23 apps, ~157 models.

Patterns by app cluster

Core platform (always-on)

accounts, authentication, common, organizations, members, notifications, platform, feedback

These are foundational. Every other app builds on them. Toggling any off would break the platform.

Operations cluster (license: operations module)

compliance, elections, finances, retention

Workflow-heavy domains for chapter operations and headquarters oversight.

Community cluster (license: community module)

forums, events, photos, activity

Engagement and social surfaces.

Programs cluster (per-module licenses)

documents, learning, foundation, alumni, messaging

Each has its own license toggle. Most chapters enable some but not all.

Intelligence (license: ai_services module)

ai_services

LLM, embeddings, RAG, AI reports.

Platform ops

backups, feedback

Cross-tenant infrastructure.

Conventions every app follows

Each app under backend/apps/<name>/:

<name>/
├── __init__.py
├── apps.py # AppConfig
├── models.py # Models
├── serializers.py # DRF serializers
├── views.py # ViewSets / views
├── urls.py # URL patterns
├── permissions.py # App-specific permissions (if any)
├── signals.py # Django signals (if any)
├── tasks.py # Celery tasks (if any)
├── admin.py # Django admin
├── migrations/
└── tests/
├── factories.py
└── test_*.py

Some apps add:

  • services.py — business logic separated from views
  • selectors.py — read-side query helpers (uncommon)
  • providers/ — external integration abstractions (e.g., ai_services/providers/)
  • consumers.py — Channels WebSocket consumers (e.g., ai_services/, elections/)

How to read a per-app page

Each per-app page covers:

  • What it does — the business problem
  • Models — schema + invariants
  • Views / endpoints — major URL patterns
  • Permissions — gating
  • Background tasks — Celery jobs
  • External integrations — third-party services
  • Signals — cross-app side effects
  • Notable patterns — quirks worth knowing

Apps without a dedicated page are simple enough that the table above covers them. Open an issue or a PR if you'd like one written.