How tg11-org/freeparty works
Freeparty is a Django social-network foundation: people register and establish identities, publish and interact with posts, then receive timeline and notification updates. Separate branches cover moderation, realtime notifications, encrypted direct messages, and federation-ready exchange. Shared core services support URI and network handling, health checks, and reliable asynchronous work. The README describes many capabilities, but sampled source does not show most request routing or cross-app calls; those relationships are omitted or marked unverified rather than inferred as certain.
Main entry points: notifications/tasks.py Notification delivery · federation/tasks.py Federation delivery · services.py Timelines · models.py Posts
Components 22
Accounts and identity
Social content
- Posts
apps/posts/models.py - Media processing
apps/posts/tasks.py - Social actions
apps/social/models.py - Timelines
apps/timelines/services.py
Communication
- Notifications
apps/notifications/models.py - Notification delivery
apps/notifications/tasks.py - Private messages
apps/private_messages/models.py - Message services
apps/private_messages/services.py
Trust and federation
- Moderation
apps/moderation/services.py - Moderation API
apps/moderation/api_views.py - Federation objects
apps/federation/models.py - Federation services
apps/federation/services.py - Federation delivery
apps/federation/tasks.py
Shared platform
- Safe networking
apps/core/network.py - Task reliability
apps/core/services/task_reliability.py - Task observability
apps/core/services/task_observability.py - Celery runtime
config/celery.py
Other components
- Person
- Remote instances
Connections 23
- Person → Accounts: registers
- Accounts → Actors: establishes identity
apps/accounts/signals.py - Actors → Profiles: has profile
- Person → Posts: publishes
- Posts → Media processing: queues processing
apps/posts/tasks.py - Person → Social actions: follows and engages
- Person → Timelines: views timeline
- Timelines → Posts: queries visible posts
apps/timelines/services.py - Timelines → Federation objects: queries remote posts
apps/timelines/services.py - Person → Notifications: receives updates
- Notifications → Notification delivery: queues tasks
apps/notifications/tasks.py - Person → Private messages: uses messaging
- Message services → Private messages: stores envelopes
apps/private_messages/services.py - Person → Moderation API: triages reports
- Moderation API → Moderation: handles moderation
- Federation services → Federation objects: records activities
apps/federation/services.py - Federation services → Federation delivery: queues deliveries
apps/federation/services.py - Federation delivery → Remote instances: delivers activities
apps/federation/tasks.py - Federation delivery → Safe networking: sends safely
apps/federation/tasks.py - Notification delivery → Task reliability: tracks execution
apps/notifications/tasks.py - Notification delivery → Task observability: observes lifecycle
apps/notifications/tasks.py - Celery runtime → Notification delivery: discovers tasks
config/celery.py - Celery runtime → Federation delivery: discovers tasks
config/celery.py