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¶
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