Architecture Overview
Technical architecture for Bellamy Book — a self-hosted social network (one deployment = one community).
New to the system? Start with Understanding the Architecture.
System Architecture
Bellamy Book uses a modular architecture (one API, many workers, polyglot persistence)—not a fine-grained microservices mesh:
- Frontend: React + Vite SPA (social feed, posts, stories, chat, blogs)
- Admin Panel: React + CoreUI (users, moderation, backup, license, AI agent, tickets)
- Mobile: Expo native app — members install from the store and enter your API URL (same API; Mobile App)
- Backend API: Single ASP.NET Core (.NET 8) REST API
- Realtime hubs: SignalR on ChatWorker / WebSocketWorker (not on the API process)
- Workers: Kafka consumers, RabbitMQ consumers, media polling worker
- Data stores: PostgreSQL, MongoDB, Redis, Neo4j, Elasticsearch
- Brokers: Kafka (social/analytics/search events), RabbitMQ (chat, notifications, push, moderation, AI blog)
- Storage: MinIO or Cloudflare R2
Key Distinctions
| Concern | Technology | Used by |
|---|---|---|
| Event streaming | Kafka | Interaction, Scoring, Trending, Graph, Hashtag, ElasticsearchSync |
| Chat / notify / push / AI / moderation | RabbitMQ | ChatWorker, WebSocketWorker, Web/Expo push, BlogAutoGen, ContentModeration |
| Media processing | Polling (PostgreSQL) | MediaProcessingWorker |
| Real-time chat | SignalR on ChatWorker | /hubs/chat, /hubs/chat-online |
| Real-time notifications | SignalR on WebSocketWorker | /hubs/notification, /hubs/onlineusers |
Architecture Sections
System Architecture
- Understanding the Architecture — Start here
- System Overview
- System Architecture Deep Dive
- Microservices
- Data Flow
Components
Infrastructure
- Deployment —
dockerPublish/dockerProd/dockerLocalENV - Scaling
- Security
High-Level Architecture
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Social Frontend │ │ Admin Panel │ │ Mobile (native) │
│ (React + Vite) │ │ (React + CoreUI) │ │ Expo Router │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ HTTP/REST │ HTTP/REST │ HTTP/REST
└───────────┬────────────┴────────────────────────┘
▼
┌───────────────────────┐
│ Backend API (.NET 8) │
└───┬───────────────────┘
│
┌────────┼────────┬──────────┬──────────────┐
▼ ▼ ▼ ▼ ▼
PostgreSQL MongoDB Redis Neo4j Elasticsearch
│
┌────────┼────────┐
▼ ▼ ▼
Kafka RabbitMQ MinIO/R2
│ │
▼ ▼
Scoring… Chat / Push /
Graph… Notify / AI /
ES Sync Moderation
+ SignalR hubs