تفاصيل العمل

منصة PropMatch هي منصة عقارية مصرية ذكية تعتمد على تقنيات الذكاء الاصطناعي لربط المستأجرين بالملاك مباشرة دون الحاجة للوسطاء أو السماسرة (بدون عمولة سماسرة). تهدف المنصة إلى توفير تجربة إيجار موثوقة، شفافة، وسريعة تُسهل عملية البحث والمطابقة، وصياغة العقود الإلكترونية طبقاً للقوانين المصرية.

يعتمد تنفيذ منصة PropMatch AI على بنية معمارية حديثة ومقسمة إلى عدة طبقات تضمن الأمان، الأداء السريع، وقابلية التوسع. يعتمد المشروع على نمط الـ Modular Monolith في الخلفية لتسهيل الإدارة، مع فصل خدمات الذكاء الاصطناعي لتناسب أعباء العمل المختلفة.

1. طبقة واجهة المستخدم والتجربة (Experience / Frontend)

إطار العمل الأساسي: Next.js 16 و React 19 باستخدام لغة TypeScript.

التصميم والتنسيق: Tailwind CSS، مكتبة Lucide للأيقونات، و Recharts لعرض الرسوم البيانية وتحليلات المالك.

إدارة الحالة (State Management): React Query لإدارة حالة الخادم والبيانات القادمة من الـ API، و Zustand لإدارة الحالة المحلية.

النماذج والتحقق (Forms & Validation): React Hook Form متكاملة مع Zod لضمان صحة البيانات قبل إرسالها.

ميزات أخرى: دعم كامل للغة العربية (RTL) عبر next-intl، وعرض النصوص المنسقة بـ React Markdown، وعميل Socket.IO للمحادثات الحية.

2. طبقة الباك إند :

إطار العمل الأساسي: NestJS 11، وهو مقسم إلى وحدات (Modules) مثل (المصادقة، الإعلانات، العروض، الرسائل، العقود).

قاعدة البيانات الأساسية (Data Layer): PostgreSQL كمصدر الحقيقة الموثوق، مع استخدام Prisma 7 كـ ORM للتفاعل مع قاعدة البيانات بفعالية وأمان.

إدارة المهام غير المتزامنة (Asynchronous Work): استخدام Redis و BullMQ لمعالجة المهام الثقيلة والمجدولة (مثل تشغيل محرك المطابقة بين العقار والمستأجر) بعيداً عن مسار استجابة خادم الويب (HTTP Request).

التواصل اللحظي (Real-time): Socket.IO لإرسال تحديثات المحادثات (Chat)، تغييرات حالة العروض، والإشعارات.

المصادقة والأمان: الاعتماد على Passport/JWT مع bcrypt. يستخدم المشروع نمط (BFF - Backend For Frontend) حيث يتم تخزين الـ Tokens في ملفات تعريف ارتباط آمنة (httpOnly cookies).

خدمات إضافية: Nodemailer للبريد الإلكتروني، Puppeteer لإنشاء مسودات وعقود الإيجار بصيغة PDF، والتكامل مع بوابة Paymob للدفع الإلكتروني بالجنيه المصري.

3. طبقة الذكاء الاصطناعي (AI Layer)

لأن الذكاء الاصطناعي لا يمتلك صلاحية اتخاذ القرارات المصيرية، تم عزله في طبقة خاصة تعمل كخدمات مساعدة (Bounded Services):

توليد المتجهات والمطابقة (Embeddings): خدمة مبنية بـ FastAPI تستخدم مكتبة sentence-transformers ونموذج paraphrase-multilingual-MiniLM-L12-v2 لدعم المطابقة الدلالية باللغتين العربية والإنجليزية محلياً على الـ CPU لضمان سرعة الاستجابة.

قاعدة بيانات المتجهات: استخدام ChromaDB لتخزين البيانات المعالجة واسترجاعها.

النظام القانوني والدعم (Legal & Support RAG): نظام يسترجع المقاطع الدقيقة من القوانين المصرية أو الأسئلة الشائعة باستخدام نماذج Cohere و LangChain، ثم يعالجها عبر نموذج توليد لغوي ضخم (gpt-oss-120b) عبر endpoint خاصة لضمان إجابات مبنية على حقائق (Grounded) أو تصعيد المشكلة لموظف دعم بشري إن لزم الأمر.

4. البنية التحتية والأنماط الهندسية (Infrastructure & Patterns)

التشغيل (Deployment): يتم تشغيل جميع الخدمات (الواجهة، الخلفية، قواعد البيانات، خدمات الـ AI) داخل حاويات باستخدام Docker Compose لضمان توافق بيئة التطوير مع الإنتاج.

الأنماط الهندسية المتبعة:

آلة الحالة (State Machines): لإدارة دورة حياة "العروض" و"العقود" لمنع المستخدم من القفز بين الحالات بشكل غير قانوني (مثلاً لا يمكن تحويل عرض مرفوض إلى مقبول مباشرة).

Guards & Decorators (RBAC): للتحكم الدقيق في صلاحيات المستخدمين (مستأجر، مالك، مدير).

Idempotency: لضمان عدم تكرار العمليات الحساسة (مثل الدفع أو إنشاء تذاكر الدعم) إذا تم إرسال الطلب بالخطأ أكثر من مرة.

هذا التنفيذ يضمن أن المنصة قادرة على تحويل "اللغة الطبيعية للمستأجر" إلى طلب منظم، ومطابقته بدقة وأمان مع العقارات، مع توفير بيئة تفاوض وتعاقد محمية وشفافة.