Hamza-AyedandClaude Fable 5 da035e46a4 feat: P2 — التسوية بالرسائل + إزالة مارتن + مستند البنية (docs/25)
P2 (كليك/شام كاش بلا API):
- الرسالة تُحفظ خاماً **قبل** أي تحليل: التحليل قد يفشل فنحتاج الأصل لإعادة
  المعالجة، وعند النزاع يكون النصّ الأصلي هو الحجّة لا تفسيرُنا له.
- النقطة تصنع المال، فرسالة مزوّرة = رصيد من عدم. الحماية: سرّ لكل مستأجر
  بمقارنة ثابتة الزمن (المقارنة النصّية تسرّب السرّ حرفاً حرفاً زمنياً)،
  وبصمة محتوى فريدة تمنع احتساب إعادة الإرسال مرتين.
- Gemini بحرارة صفر ومطالَب بإرجاع null عند عدم اليقين: نموذج يخمّن مبلغاً
  يسوّي فاتورة بمال لم يصل. بلا مبلغ صريح → مراجعة بشرية لا تسوية.
- المطابقة بالمرجع أولاً، ثم بالمبلغ خلال 24 ساعة وبشرط فاتورة وحيدة —
  فاتورتان بنفس المبلغ التباسٌ يُراجَع، لا تسويةٌ عشوائية لإحداهما.
- التسوية تمرّ بـmarkSuccess نفسه فلا يتفرّع مسار مالي ثانٍ.

إزالة حاوية martin: انطلق منصّة قائمة بذاتها لها خوادمها؛ دورنا طلب وردّ لا
استضافة خرائط (قرار المالك).

docs/25: جرد الحاويات · لماذا الدفع ليس خدمة منفصلة · سيرفر السوبر-أدمن
المنفصل ونطاقه الفرعي · WebSocket مقابل الاستطلاع بالأرقام · أحجام السيرفرات
على أساس الذروة لا المعدّل · نقل مستأجر · ترتيب التوسّع.

13 اختباراً جديداً (201 إجمالاً، كلها خضراء).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 15:19:17 +03:00
2026-07-16 16:01:28 +03:00

Tripz — منصة نقل ذكي متعددة المستأجرين (White-Label)

منصة SaaS لتأجير تطبيقات نقل بعلامة تجارية خاصة لكل مستأجر (مكتب تكسي / أسطول / مشغّل مرخّص) في دول متعددة. تُبنى لتكسر نموذج Onde عبر أربع فجوات: الشفافية السعرية، الاستضافة داخل الدولة (السيادة)، خرائط انطلق الذاتية (بلا فاتورة خرائط)، والعربية أولاً.

هذا الفولدر هو حجر الأساس التخطيطي للمشروع قبل كتابة أي كود. كل ملف هنا يجيب عن سؤال واحد: ماذا نبني، وكيف، وبأي ترتيب.


القرارات المحسومة (لا نقاش فيها عند البناء)

الطبقة القرار لماذا
الباك إند NestJS 11 + TypeORM + PostgreSQL/PostGIS + Redis باك إند انطلق مبني به أصلاً وفيه Tenant + Usage جاهزان
الـ Realtime Socket.IO Gateway (@nestjs/websockets) + redis-adapter لغة واحدة، فريق واحد، توسّع أفقي
الموبايل Flutter + flutter_bloc (Cubit افتراضياً، Bloc لدورة الرحلة والعروض) قابلية اختبار وتدقيق لمنتج يُرخّص + قرب من عقلية GetX
التوجيه/الحقن go_router + get_it معيار صناعي مقبول
الخرائط انطلق (Martin tiles + geocoding + routing ذاتي) الخندق التنافسي: بلا اعتماد على Google
الاستئجار قاعدة واحدة + tenant_id (قياسي)، ونسخة معزولة (وضع سيادة) أرخص تشغيلاً + منتج مضاد لثغرة Onde

تفاصيل كل قرار في docs/02-backend-plan.md وdocs/03-mobile-plan.md.


خريطة الوثائق

ابدأ من الأعلى للأسفل. كل ملف مستقل لكنه يشير للبقية.

# الملف يجيب عن
00 نظرة عامة الرؤية، الجمهور، التمايز، ما ليس ضمن النطاق
01 البنية كيف تتحدث الأنظمة معاً (مخطط عام)
02 الباك إند وحدات NestJS، الطبقات، الحرّاس
03 الموبايل هيكل فلاتر، الحالة، الشاشات، الـ flavors
04 محرك التعرفة كيف نسعّر الرحلة (JSON قواعد)
05 تسعير المنتج والفوترة الباقات وخوارزمية فاتورة المستأجر
06 نموذج الاستئجار tenant_id، وضع السيادة، حزم الدول
07 التكاملات الدفع، OTP/SMS، واجهة المنظّم، Webhooks
08 نموذج البيانات الجداول الأساسية والعلاقات
09 الطبقة الحية قنوات Socket، الحضور، الإسناد
10 خطة التنفيذ P0→P3 بالأسابيع وشروط الخروج
11 النشر والأتمتة CI، flavors، fastlane، البيئات
12 اللاندنج والبيع الموقع، قنوات البيع بلا إعلانات
13 المخاطر والقرارات المفتوحة ما يحتاج حسم المالك
14 اصطلاحات السيرفر والعزل قرارات تشغيلية محسومة: البادئة، Redis DB، سيرفر مشترك، سيرو
🌳 شجرة المستودع البنية الكاملة للمجلدات والملفات

البدء السريع (عند جهوزية القرار)

  1. اقرأ 00-overview → 01-architecture.
  2. احسم القرارات المفتوحة (الاسم، سوق الانطلاق، دور سيرو).
  3. نفّذ P0 — تأسيس الـ Monorepo.
  4. تابع الشجرة المرجعية في project-tree.

الحالة: تخطيط · آخر تحديث: 2026-07-16 · الاسم المؤقت: Tripz

S
Description
No description provided
Readme
110 MiB
Languages
Dart 56.8%
JavaScript 21.3%
PHP 12.3%
TypeScript 4%
Kotlin 1.8%
Other 3.5%