Skip to main content

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​

ConcernTechnologyUsed by
Event streamingKafkaInteraction, Scoring, Trending, Graph, Hashtag, ElasticsearchSync
Chat / notify / push / AI / moderationRabbitMQChatWorker, WebSocketWorker, Web/Expo push, BlogAutoGen, ContentModeration
Media processingPolling (PostgreSQL)MediaProcessingWorker
Real-time chatSignalR on ChatWorker/hubs/chat, /hubs/chat-online
Real-time notificationsSignalR on WebSocketWorker/hubs/notification, /hubs/onlineusers

Architecture Sections​

System Architecture​

Components​

Infrastructure​

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

Next steps​