Skip to content

Architecture

Smart Estate uses a simple layered setup: React for the UI, FastAPI for business logic, PostgreSQL for storage, and modular AI services for ticket intake.

Why This Architecture

  • FastAPI keeps the backend small, async, and easy to extend.
  • PostgreSQL gives the system a reliable relational source of truth.
  • React supports a live dashboard with fast operational feedback.
  • AI modules stay modular, with fallback behavior when a model is unavailable.

Design Decisions

  • Keep the backend as the source of truth for ticket and SLA state.
  • Use PostgreSQL for durable relational records instead of scattered storage.
  • Keep AI modules separate so text and vision can evolve independently.
  • Favor dashboard refreshes and events over heavy client-side state.

Components

Backend

  • Exposes auth, ticket, chat, SLA, AI, admin, and metrics endpoints.
  • Owns validation, SLA calculation, assignment logic, and audit writes.
  • Uses helper modules for dispatch, text classification, vision analysis, and fusion.

Dashboard

  • Shows ticket queues, KPI cards, SLA state, chat, and system settings.
  • Reads the backend through REST endpoints and live update events.

Database

  • Stores users, tickets, buildings, apartments, SLA rules, AI logs, messages, media, and audit data.
  • Keeps ticket lifecycle and SLA state consistent across the app.

AI Modules

  • Text AI classifies the request and suggests priority.
  • Vision AI reads uploaded media when present.
  • Fusion logic combines both outputs into one ticket result.

System Diagram

System architecture and processing flow Caption: Backend, database, dashboard, and AI services working together in the implemented system.

How It Works

User action
  -> React dashboard or API call
  -> FastAPI business logic
  -> PostgreSQL read/write
  -> dashboard refresh and metrics update
Ticket intake
  -> text or media AI
  -> fusion engine
  -> ticket record + ai_logs
  -> SLA calculation + assignment