Architecture diagram

Two clients — Telegram bot (primary) and Web frontend (secondary) — route through nginx to a single Backend.

The backend connects to two abstraction interfaces in a Dependencies layer:

  • Database interaction interface → swappable between Mock database (for dev/testing) and PostgreSQL (production)
  • LLM interface → swappable between a real LLM and a Mock LLM

The dashed lines indicate the swappable/pluggable implementations behind each interface.


This site uses Just the Docs, a documentation theme for Jekyll.