.NET Backend
ASP.NET Core 10 Web API
Clean Architecture + CQRS + MediatR
EF Core + PostgreSQL + pgvector
ASP.NET Identity + JWT + Refresh
Redis · MinIO · SignalR · Hangfire
Serilog + Seq · FluentValidation
Flutter Frontend
Flutter 3.x — iOS / Android / Web
MVVM + Repository Pattern
Riverpod (State) · Dio+Retrofit (HTTP)
google_maps_flutter · flutter_sound
fl_chart · Hive (local cache)
Connection BE: REST API + WebSocket
Python AI Services (x3)
STT Service — FastAPI
Whisper Fine-tuned · Denoiser · Lexicon
NLP Service — FastAPI
spaCy/ParsBERT · NER · Intent Detection
RAG Service — FastAPI
LangChain · Hybrid Search · pgvector
Connection BE: Internal REST API + mTLS
Epic
26
لایه فنی
5
Python AI Service
3
معماری بک‌اند
Clean+CQRS
لایه ۱ — زیرساخت و امنیت (پایه همه چیز)
E1 — زیرساخت، DevOps و امنیت پایه
Docker Compose چند سرویس، Nginx Reverse Proxy، CI/CD، مانیتورینگ، API Gateway بین سرویس‌ها، mTLS بین .NET و Python Services، Rate Limiting، Secret Management
E01
.NETPythonDevOpsبلاک‌کننده کل پروژه
E2 — امنیت API و ایمن‌سازی ارتباطات
JWT + Refresh Token، mTLS بین سرویس‌های داخلی، OWASP API Security، ایمن‌سازی Google Maps API Key، Input Validation لایه‌بندی‌شده، Audit Log تمام رویدادها
E02
.NETPythonSecurityبلاک‌کننده
لایه ۲ — هسته بک‌اند (.NET — Clean+CQRS)
E3 — احراز هویت و مدیریت کاربران
OTP موبایل، RBAC چهار نقش، Multi-Tenant، پروفایل دفتر و ایجنت، لاگ فعالیت — Command/Query جدا با MediatR
E03
.NETFlutterبلاک‌کننده
E4 — مدیریت پایه ملک (Property Core)
ثبت/ویرایش/بایگانی/حذف، انواع ملک، مالک، وضعیت، دسته‌بندی، آپلود تصویر و سند به MinIO — Domain Events برای تاریخچه
E04
.NETFlutterبلاک‌کننده
E5 — مدیریت معاملات (فروش / اجاره / رهن / معاوضه)
ثبت انواع معامله، وضعیت Pipeline، کمیسیون، پرداخت، پیگیری — Saga Pattern برای تراکنش چند مرحله‌ای
E05
.NETFlutter
E6 — تاریخچه و شناسنامه ملک (Zillow-style)
تاریخچه مالکیت، اجاره‌ها، فروش‌ها، قیمت، بازدیدها، مذاکرات — Event Sourcing سبک با Append-only log
E06
.NETFlutter
E7 — مدیریت مشتریان (CRM)
پروفایل مشتری، علاقه‌مندی‌ها، درخواست، پیگیری، ثبت تماس/جلسه/بازدید، تاریخچه تعامل
E07
.NETFlutter
E8 — مدیریت بازدید ملک
رزرو بازدید، تقویم مشاور، ثبت حضور، نتیجه و بازخورد مشتری، گزارش بازدید
E08
.NETFlutter
E9 — مدیریت مشاوران و تیم
پروفایل مشاور، تخصیص ملک/مشتری، حضور و غیاب، وظایف، مدیریت تیم فروش
E09
.NETFlutter
E10 — مدیریت اسناد و آرشیو
آپلود/دانلود/جستجوی فایل، قراردادها، مدارک هویتی، اسناد ملکی، نسخه‌بندی — MinIO + Presigned URL
E10
.NETFlutterMinIO
E11 — اعلان‌ها و یادآورها
Push Notification، SMS (Kavenegar)، ایمیل، یادآوری قرارداد/تماس/بازدید/اقساط — SignalR برای Realtime
E11
.NETFlutterSignalR
E12 — مدیریت اشتراک و پلن‌ها
پلن‌های مختلف، Feature Flag per plan، محدودیت‌ها، تمدید، پرداخت آنلاین ایران، فاکتور
E12
.NETFlutter
لایه ۳ — نقشه و موقعیت مکانی
E13 — نقشه هوشمند و موقعیت مکانی
پین ملک، خوشه‌بندی، هیت‌مپ قیمت، رسم محدوده، جستجوی مکانی روی نقشه، لایه‌های شهری — PostGIS برای Geo Query
E13
.NETFlutterGoogle Maps SDKPostGIS
E14 — اطلاعات محیطی و امکانات اطراف (POI)
بیمارستان، مدرسه، سوپرمارکت، مترو، پارک و... — Google Places API، محاسبه فاصله/زمان با Google Distance Matrix API، امتیازدهی محله، Cache نتایج در Redis
E14
.NETFlutterGoogle Places APIDistance Matrix
لایه ۴ — سه Python AI Service (جدا و مستقل)
E15 — STT Service (سرویس تبدیل گفتار به متن فارسی)
Fine-tune Whisper روی دیتای املاک فارسی، Denoiser برای پاک‌سازی صدای محیط، Lexicon اصطلاحات ملکی، Streaming STT، REST API داخلی با mTLS، Queue-based برای پردازش موازی
E15
Python / FastAPIWhisperDenoiserGPU Serverبلاک‌کننده E16
E16 — NLP Service (دستیار صوتی مرحله‌ای)
Intent Detection جریان ثبت ملک، NER استخراج موجودیت (آدرس، متراژ، قیمت، امکانات)، Slot Filling برای فرم، مدیریت Context بین مراحل، ParsBERT/mBERT Fine-tuned، REST API داخلی
E16
Python / FastAPIParsBERTspaCyنیاز: E15
E17 — RAG Service (موتور جستجوی هوشمند)
Hybrid Search: pgvector (Semantic) + PostgreSQL FTS (Keyword)، Embedding فارسی ملک‌ها، LangChain Retrieval Chain، Re-ranking نتایج، LLM برای پاسخ زبان طبیعی، REST API داخلی
E17
Python / FastAPILangChainpgvectorHybrid Search
لایه ۵ — فیچرهای هوشمند (مصرف‌کننده AI Services)
E18 — ثبت صوتی هوشمند (Voice Assisted Entry)
جریان مرحله‌ای: Flutter ضبط → STT Service → NLP Service → فرم پر شده، ویس راهنمای از پیش ضبط‌شده، تأیید/اصلاح کاربر، ثبت نهایی روی .NET API — مصرف‌کننده E15+E16
E18
Flutter.NETSTT+NLP
E19 — جستجوی زبان طبیعی و چت هوشمند
«یه ویلای دوبلکس نزدیک جنگل تا ۱۰ میلیارد» → RAG Service → نتایج رتبه‌بندی‌شده، چت با فایل‌های ملکی، پیشنهاد هوشمند، تولید توضیح آگهی، پیشنهاد قیمت — مصرف‌کننده E17
E19
Flutter.NETRAG Service
لایه ۶ — داشبورد، تحلیل و اقتصاد
E20 — موتور جستجوی پیشرفته (بدون AI)
فیلتر چند شرطی، محدوده قیمت، ویژگی‌های ملک، وضعیت معامله، جستجوی مکانی، ذخیره جستجو — PostgreSQL FTS + ایندکس‌گذاری بهینه
E20
.NETFlutter
E21 — داشبوردهای مدیریتی
داشبورد مدیر دفتر، مشاور، شعب، فروش، اجاره، مالی — CQRS Read Model بهینه برای Query سریع
E21
.NETFlutter
E22 — KPI و گزارش عملکرد مشاوران
نرخ موفقیت، حجم فروش/اجاره، تعداد قرارداد/مشتری/بازدید، رتبه‌بندی، عملکرد ماهانه/سالانه، نمودار مقایسه‌ای
E22
.NETFlutter
E23 — گزارشات و تحلیل‌ها
گزارش فروش، اجاره، درآمد، کمیسیون، مشتریان، مشاوران، Export PDF/Excel — Background Job با Hangfire
E23
.NETFlutter
E24 — هوش تجاری (BI) و تحلیل بازار
روند قیمت منطقه، تحلیل عرضه/تقاضا، پیش‌بینی بازار، امتیازدهی محله — Materialized View برای کوئری سریع
E24
.NETFlutter
E25 — مرکز اطلاعات اقتصادی
نرخ ارز/طلا (API خارجی)، مصالح ساختمانی، شاخص تورم/مسکن/ساخت، نرخ وام، اخبار — Cache در Redis با TTL کوتاه
E25
.NETFlutterExternal APIRedis Cache
E26 — Data Pipeline و Embedding Management
Pipeline ایندکس‌گذاری ملک‌های جدید/ویرایش‌شده برای pgvector، Batch Embedding، Sync بین .NET و RAG Service، مدیریت چرخه عمر Embedding‌ها
E26
Python.NETHangfirepgvector