Zum Inhalt springen
Deutsch

Examples - Übersicht

Das Framework liefert lauffähige Beispiele unter examples/ im Repo. Jedes ist eine voll funktionsfähige App, die du klonen und starten kannst.

BeispielDemonstriert
Chat-SampleCluster + DistributedPubSub + DistributedData + sharded persistente Chat-Room- / Direktnachrichten-Entities + HTTP/WS-Endpoint.
Voice-SampleWebSocket + Receptionist + DistributedPubSub + DistributedData ORSets - ephemer konzipiert (kein Sharding, keine Persistenz).
Eigenständige SnippetsHäppchengroße Beispiele pro Konzept - Counter, Saga, Health, etc.

Für den ersten Kontakt mit actor-ts starte mit dem Quickstart - das ist ein 5-Minuten Hello-Actor. Danach das Chat- oder Voice-Sample für eine funktionierende Multi-Feature-App.

Terminal-Fenster
# Repo klonen:
git clone https://github.com/pathosDev/actor-ts.git
cd actor-ts
# Abhängigkeiten einmalig im Repo-Root installieren:
bun install
# Chat-Sample starten - drei Terminals, in jedem derselbe Befehl:
bun examples/chat/backend/main.ts

Jedes Beispiel hat seine eigene README mit Setup-Schritten.

Wenn du sehen willst…

  • Cluster + Entities → Chat-Sample.
  • PersistentActor-Patterns → Chat-Sample.
  • Distributed Pub/Sub → Chat- oder Voice-Sample.
  • Receptionist + ephemere (CRDT-)Räume → Voice-Sample.
  • Broker-Integration (Kafka) → das Snippet examples/io/kafka-exactly-once.ts.
  • HTTP + WebSocket → beide Samples.
  • Ein einzelnes Konzept isoliert → eigenständige Snippets.

Die Beispiele folgen ein paar Konventionen:

  • backend/actors/ - Actor-Klassen.
  • backend/main.ts - Einstiegspunkt; nur Verdrahtung (Cluster-Join, Extensions, Sharding, HTTP-Singleton).
  • backend/routes.ts - HTTP-Directive-DSL-Routen.
  • shared/ - mit den Frontends geteilter Code: protocol.ts (WS-Nachrichten-Typen), rooms.ts, users.ts.

Ein Beispiel zu lesen dauert ~30 Minuten für die ganze Architektur; schneller, wenn du das Framework schon kennst.

Wenn du etwas mit actor-ts baust und denkst, es würde anderen helfen - ein Saga-Workflow, eine Kafka-getriebene Analytics-Pipeline, ein Multi-Tenant-SaaS-Skeleton - PRs sind willkommen.

Beispiele, die aufgenommen werden:

  • Self-contained - laufen ohne externe Services außer Docker / Compose.
  • Dokumentiert - README mit was es tut + wie es funktioniert.
  • Realistisch - lösen ein echtes Problem (nicht nur “zeig dieses Feature”).