Architecture¶
Previous: Features
Next: Data Model
Smart Estate is built as a backend-centered architecture where ticket/SLA state is owned by PostgreSQL-backed FastAPI services, with dashboard and mobile clients as consumers.
1) Runtime components¶
Backend (smart-estate-backend)¶
- FastAPI app with routers for auth, tickets, chat, AI, admin, predictions.
- Background scheduler for periodic reprioritization/SLA monitoring tasks.
- WebSocket notification channel for real-time updates.
- AI runtime integration:
- OpenAI vision-first flow when configured.
- Secondary local model paths (YOLO/text models) when available.
Database (PostgreSQL)¶
- System of record for users, buildings, apartments, tickets, messages, media, AI logs, SLA settings, and audit events.
Dashboard (smart-estate-dashboard)¶
- Admin/operations/manager web UI using REST + WebSocket.
- Includes jobs table, metrics cards/charts, user/property/technician admin, system config, and audit views.
Mobile apps¶
- Tenant app: core integration supports ticketing, chat, and account workflows.
- Technician app: strong integration for field workflow endpoints.
2) API mount behavior¶
- Most routers are mounted both at root and
/apifor client compatibility. - Predictions routes are mounted under
/apionly.
3) Main processing flow¶
Client request (dashboard/mobile)
-> FastAPI route handler
-> business logic + DB operations
-> optional AI classification / dispatch logic
-> persisted ticket/message/audit updates
-> WebSocket notification fanout
Ticket with media
-> /api/chat or /api/upload-image
-> text + vision analysis
-> fusion result
-> ticket updates + AI decision log write
-> SLA deadlines + assignment decisions
4) Deployment topology¶
smart-estate compose stack runs:
postgresbackenddashboard
with persistent mounts for uploads and model artifacts.
Caption: Dashboard is one of multiple clients over the same backend system-of-record.
Previous: Features
Next: Data Model