# 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/02-backend-plan.md) و[docs/03-mobile-plan.md](docs/03-mobile-plan.md). --- ## خريطة الوثائق ابدأ من الأعلى للأسفل. كل ملف مستقل لكنه يشير للبقية. | # | الملف | يجيب عن | |---|-------|---------| | 00 | [نظرة عامة](docs/00-overview.md) | الرؤية، الجمهور، التمايز، ما ليس ضمن النطاق | | 01 | [البنية](docs/01-architecture.md) | كيف تتحدث الأنظمة معاً (مخطط عام) | | 02 | [الباك إند](docs/02-backend-plan.md) | وحدات NestJS، الطبقات، الحرّاس | | 03 | [الموبايل](docs/03-mobile-plan.md) | هيكل فلاتر، الحالة، الشاشات، الـ flavors | | 04 | [محرك التعرفة](docs/04-tariff-engine.md) | كيف نسعّر الرحلة (JSON قواعد) | | 05 | [تسعير المنتج والفوترة](docs/05-pricing-billing.md) | الباقات وخوارزمية فاتورة المستأجر | | 06 | [نموذج الاستئجار](docs/06-tenant-model.md) | tenant_id، وضع السيادة، حزم الدول | | 07 | [التكاملات](docs/07-integrations.md) | الدفع، OTP/SMS، واجهة المنظّم، Webhooks | | 08 | [نموذج البيانات](docs/08-data-model.md) | الجداول الأساسية والعلاقات | | 09 | [الطبقة الحية](docs/09-realtime.md) | قنوات Socket، الحضور، الإسناد | | 10 | [خطة التنفيذ](docs/10-roadmap.md) | P0→P3 بالأسابيع وشروط الخروج | | 11 | [النشر والأتمتة](docs/11-devops-cicd.md) | CI، flavors، fastlane، البيئات | | 12 | [اللاندنج والبيع](docs/12-landing-gtm.md) | الموقع، قنوات البيع بلا إعلانات | | 13 | [المخاطر والقرارات المفتوحة](docs/13-risks-decisions.md) | ما يحتاج حسم المالك | | 14 | [اصطلاحات السيرفر والعزل](docs/14-server-conventions.md) | **قرارات تشغيلية محسومة:** البادئة، Redis DB، سيرفر مشترك، سيرو | | 🌳 | [شجرة المستودع](docs/project-tree.md) | البنية الكاملة للمجلدات والملفات | --- ## البدء السريع (عند جهوزية القرار) 1. اقرأ [00-overview](docs/00-overview.md) → [01-architecture](docs/01-architecture.md). 2. احسم [القرارات المفتوحة](docs/13-risks-decisions.md) (الاسم، سوق الانطلاق، دور سيرو). 3. نفّذ [P0](docs/10-roadmap.md#p0) — تأسيس الـ Monorepo. 4. تابع الشجرة المرجعية في [project-tree](docs/project-tree.md). --- **الحالة:** تخطيط · **آخر تحديث:** 2026-07-16 · **الاسم المؤقت:** Tripz