refactor: إعادة تسمية التطبيقات الأربعة siro_* → intaleq_*
المجلدات وأسماء حزم dart واستيراداتها: siro_rider → intaleq_rider siro_driver → intaleq_driver siro_admin → intaleq_admin siro_service → intaleq_service شمل ذلك `name:` في كل pubspec وكل `package:siro_*` في الاستيرادات (115 ملفاً في rider وحده)، وإشارات أسماء المجلدات في docs/ وتعليق في backend/Admin/notifications/broadcast.php. لم تبقَ إشارة واحدة (تحقّقت). + ضُمّت حزم get و get_storage داخل intaleq_driver/packages/ وحُوّلت مساراتها الثلاثة من `../../Intaleq/packages/*` إلى `./packages/*`. كانت تُحل عرضاً إلى مجلد App/Intaleq القديم المجاور — تبعية خارج المستودع تنكسر بأول نقل. لم يبقَ في أي تطبيق تبعية مسار خارج الشجرة. ⚠️ لم تُمسّ بعد: هويات المتاجر (applicationId · PRODUCT_BUNDLE_IDENTIFIER · shorebird app_id) ولا الألوان ولا النصوص المرئية ولا النطاقات — كل منها كوميت منفصل، والهويات تحتاج قرار المالك. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
92dc6b3641
commit
0aab85c732
@@ -6,7 +6,7 @@
|
||||
- **Maps**: Siro Maps (custom Flutter plugin) + Google Maps + Map SaaS + OSRM
|
||||
- **Domain**: siromove.com | **API**: api.intaleq.xyz/siro_v3 | **Ride**: rides.intaleq.xyz | **Location**: location.intaleq.xyz | **Payment**: walletintaleq.intaleq.xyz
|
||||
|
||||
## Passenger Flow (siro_rider)
|
||||
## Passenger Flow (intaleq_rider)
|
||||
```
|
||||
Splash → Auth check → MapScreen (permanent map controllers)
|
||||
→ Enter destination → Price calc → Ride request (waitingRides)
|
||||
@@ -19,7 +19,7 @@ Splash → Auth check → MapScreen (permanent map controllers)
|
||||
- **Deviation Guard**: 50m threshold, re-routes if off path
|
||||
- **Local ETA**: Route trimming by closest point, percentage-based time calculation
|
||||
|
||||
## Driver Flow (siro_driver)
|
||||
## Driver Flow (intaleq_driver)
|
||||
```
|
||||
Splash → Auth → MapScreen → Go Online (location streaming)
|
||||
→ Ride offer via FCM + Android native overlay (TripOverlayPlugin)
|
||||
@@ -161,7 +161,7 @@ Splash → Auth → MapScreen → Go Online (location streaming)
|
||||
|
||||
## File Map (Key Files)
|
||||
```
|
||||
siro_rider/
|
||||
intaleq_rider/
|
||||
lib/main.dart, app_bindings.dart, splash_screen_page.dart
|
||||
lib/controller/home/map/ride_lifecycle_controller.dart (4600 lines)
|
||||
lib/controller/home/map/ride_state.dart (8-state enum)
|
||||
@@ -171,7 +171,7 @@ siro_rider/
|
||||
lib/constant/links.dart (all API endpoints)
|
||||
lib/views/home/map_widget.dart/*.dart (20+ map UI widgets)
|
||||
|
||||
siro_driver/
|
||||
intaleq_driver/
|
||||
lib/main.dart (550 lines, accept/reject logic)
|
||||
lib/controller/functions/background_service.dart
|
||||
lib/controller/home/captin/home_captain_controller.dart
|
||||
@@ -186,10 +186,10 @@ backend/
|
||||
socket_intaleq/
|
||||
driver_socket.php, passenger_socket.php
|
||||
|
||||
siro_admin/ (Flutter Web admin panel)
|
||||
intaleq_admin/ (Flutter Web admin panel)
|
||||
20+ controllers, 30+ views
|
||||
|
||||
siro_service/ (Driver registration agent app)
|
||||
intaleq_service/ (Driver registration agent app)
|
||||
```
|
||||
|
||||
## Key Business Rules
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ التطبيقات (Flutter) │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ siro_rider │ │ siro_driver │ │ siro_admin │ │
|
||||
│ │ intaleq_rider │ │ intaleq_driver │ │ intaleq_admin │ │
|
||||
│ │ (الراكب) │ │ (السائق) │ │ (الإدارة) │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
## الميزات الموجودة حالياً
|
||||
|
||||
### 👤 ميزات الراكب (siro_rider)
|
||||
### 👤 ميزات الراكب (intaleq_rider)
|
||||
|
||||
#### أنواع الرحلات (12 نوع):
|
||||
```
|
||||
@@ -203,7 +203,7 @@
|
||||
|
||||
---
|
||||
|
||||
### 🚕 ميزات السائق (siro_driver)
|
||||
### 🚕 ميزات السائق (intaleq_driver)
|
||||
|
||||
#### إدارة الرحلات:
|
||||
```
|
||||
@@ -281,7 +281,7 @@
|
||||
|
||||
---
|
||||
|
||||
### 🖥️ ميزات لوحة الإدارة (siro_admin)
|
||||
### 🖥️ ميزات لوحة الإدارة (intaleq_admin)
|
||||
|
||||
#### لوحة المعلومات:
|
||||
```
|
||||
@@ -374,7 +374,7 @@
|
||||
|
||||
## تطبيقات المستخدمين
|
||||
|
||||
### 📱 سيرو للراكب (siro_rider)
|
||||
### 📱 سيرو للراكب (intaleq_rider)
|
||||
```
|
||||
منصة: iOS + Android
|
||||
حجم التطبيق: ~80 MB
|
||||
@@ -382,7 +382,7 @@
|
||||
التحديثات: OTA (Shorebird)
|
||||
```
|
||||
|
||||
### 🚕 سيرو للسائق (siro_driver)
|
||||
### 🚕 سيرو للسائق (intaleq_driver)
|
||||
```
|
||||
منصة: iOS + Android
|
||||
حجم التطبيق: ~100 MB
|
||||
@@ -391,7 +391,7 @@
|
||||
التحديثات: OTA (Shorebird)
|
||||
```
|
||||
|
||||
### 🖥️ سيرو الإدارة (siro_admin)
|
||||
### 🖥️ سيرو الإدارة (intaleq_admin)
|
||||
```
|
||||
منصة: Web (PWA) + Mobile (Flutter)
|
||||
الوصول: أي متصفح
|
||||
|
||||
@@ -8,10 +8,10 @@ Siro (Siro) is a multi-region ride-hailing platform connecting passengers with d
|
||||
1. Passenger requests ride → System searches nearby drivers → Driver accepts → Navigate to pickup → Ride begins → Ride completes → Payment processed → Rating submitted
|
||||
|
||||
### User Types
|
||||
- **Passenger** (Rider) — Requests rides via siro_rider app
|
||||
- **Driver** (Captain) — Accepts rides via siro_driver app
|
||||
- **Admin** — Manages system via siro_admin app (Flutter Web/PWA)
|
||||
- **Service Agent** — Manages driver registration via siro_service app
|
||||
- **Passenger** (Rider) — Requests rides via intaleq_rider app
|
||||
- **Driver** (Captain) — Accepts rides via intaleq_driver app
|
||||
- **Admin** — Manages system via intaleq_admin app (Flutter Web/PWA)
|
||||
- **Service Agent** — Manages driver registration via intaleq_service app
|
||||
- **Employee** — Staff managing drivers, passengers, complaints
|
||||
|
||||
### Driver Types
|
||||
@@ -63,22 +63,22 @@ Siro (Siro) is a multi-region ride-hailing platform connecting passengers with d
|
||||
|
||||
| Module | Purpose | Dependencies | Main Files |
|
||||
|--------|---------|--------------|------------|
|
||||
| **Authentication** | Login, signup, OTP, JWT management, Google/Apple auth | Firebase, Twilio, WhatsApp | `siro_rider/lib/controller/auth/*.dart`, `backend/auth/*.php` |
|
||||
| **Authentication** | Login, signup, OTP, JWT management, Google/Apple auth | Firebase, Twilio, WhatsApp | `intaleq_rider/lib/controller/auth/*.dart`, `backend/auth/*.php` |
|
||||
| **Dispatching** | Ride request → driver matching → offer → accept | WebSocket, MySQL GIS | `socket_intaleq/*.php`, `backend/ride/*.php` |
|
||||
| **Matching** | Nearby driver search via spatial queries | MySQL SPATIAL indexes | `backend/ride/location/*.php` |
|
||||
| **Maps & GIS** | Map rendering, routing, geocoding, driver tracking | Google Maps, Map SaaS, OSRM | `siro_rider/lib/controller/home/map/*.dart` |
|
||||
| **Payments** | Ride payment, wallet, PayMob, MTN, Syriatel, E-Cash | PayMob, Stripe | `siro_rider/lib/controller/payment/*.dart`, `backend/ride/payment/*.php` |
|
||||
| **Wallet** | Passenger & driver balance management | Payment server (walletintaleq.xyz) | `siro_rider/lib/controller/payment/passenger_wallet_history_controller.dart` |
|
||||
| **Notifications** | Push (FCM), local, in-app notifications | Firebase | `siro_rider/lib/controller/firebase/*.dart` |
|
||||
| **Maps & GIS** | Map rendering, routing, geocoding, driver tracking | Google Maps, Map SaaS, OSRM | `intaleq_rider/lib/controller/home/map/*.dart` |
|
||||
| **Payments** | Ride payment, wallet, PayMob, MTN, Syriatel, E-Cash | PayMob, Stripe | `intaleq_rider/lib/controller/payment/*.dart`, `backend/ride/payment/*.php` |
|
||||
| **Wallet** | Passenger & driver balance management | Payment server (walletintaleq.xyz) | `intaleq_rider/lib/controller/payment/passenger_wallet_history_controller.dart` |
|
||||
| **Notifications** | Push (FCM), local, in-app notifications | Firebase | `intaleq_rider/lib/controller/firebase/*.dart` |
|
||||
| **Chat** | In-app messaging between driver & passenger | PHP API | `backend/ride/chat/send_message.php` |
|
||||
| **Rating** | Post-ride driver & passenger ratings | MySQL | `siro_rider/lib/controller/rate/*.dart`, `backend/ride/rate/*.php` |
|
||||
| **Promotions** | Promo codes, referral rewards | MySQL | `siro_rider/lib/controller/home/profile/promos_controller.dart` |
|
||||
| **AI Services** | OCR document scanning, data extraction | Azure OCR, OpenAI, Llama | `siro_rider/lib/controller/functions/crud.dart` (getLlama, getChatGPT, arabicTextExtractByVisionAndAI) |
|
||||
| **Admin Functions** | Dashboard, driver/passenger management, analytics | All backend APIs | `siro_admin/lib/controller/admin/*.dart` |
|
||||
| **Realtime Tracking** | WebSocket driver location streaming, passenger tracking | Socket.IO (PHP) | `socket_intaleq/*.php`, `siro_rider/lib/controller/home/map/map_socket_controller.dart` |
|
||||
| **Rating** | Post-ride driver & passenger ratings | MySQL | `intaleq_rider/lib/controller/rate/*.dart`, `backend/ride/rate/*.php` |
|
||||
| **Promotions** | Promo codes, referral rewards | MySQL | `intaleq_rider/lib/controller/home/profile/promos_controller.dart` |
|
||||
| **AI Services** | OCR document scanning, data extraction | Azure OCR, OpenAI, Llama | `intaleq_rider/lib/controller/functions/crud.dart` (getLlama, getChatGPT, arabicTextExtractByVisionAndAI) |
|
||||
| **Admin Functions** | Dashboard, driver/passenger management, analytics | All backend APIs | `intaleq_admin/lib/controller/admin/*.dart` |
|
||||
| **Realtime Tracking** | WebSocket driver location streaming, passenger tracking | Socket.IO (PHP) | `socket_intaleq/*.php`, `intaleq_rider/lib/controller/home/map/map_socket_controller.dart` |
|
||||
| **Referral System** | Unified referral codes for drivers & passengers | MySQL | `backend/migration_referral_system.sql`, `backend/ride/invitor/*.php` |
|
||||
| **Complaints** | Post-ride issue resolution | MySQL | `siro_rider/lib/controller/home/profile/complaint_controller.dart`, `backend/Admin/AdminRide/` |
|
||||
| **Emergency** | SOS signals, safety features | Agora, WebRTC | `siro_rider/lib/services/emergency_signal_service.dart` |
|
||||
| **Complaints** | Post-ride issue resolution | MySQL | `intaleq_rider/lib/controller/home/profile/complaint_controller.dart`, `backend/Admin/AdminRide/` |
|
||||
| **Emergency** | SOS signals, safety features | Agora, WebRTC | `intaleq_rider/lib/services/emergency_signal_service.dart` |
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
@@ -86,7 +86,7 @@ Siro (Siro) is a multi-region ride-hailing platform connecting passengers with d
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ Mobile Apps (Flutter) │
|
||||
│ ┌─────────────┐ ┌──────────────┐ ┌────────────┐ │
|
||||
│ │ siro_rider │ │ siro_driver │ │ siro_admin │ │
|
||||
│ │ intaleq_rider │ │ intaleq_driver │ │ intaleq_admin │ │
|
||||
│ │ (Passenger) │ │ (Captain) │ │ (Admin) │ │
|
||||
│ └──────┬──────┘ └──────┬───────┘ └─────┬──────┘ │
|
||||
└─────────┼─────────────────┼─────────────────┼────────┘
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
┌────────────────────────────────────────────────────────────────────┐
|
||||
│ UI LAYER (Flutter Widgets) │
|
||||
│ │
|
||||
│ siro_rider: │
|
||||
│ intaleq_rider: │
|
||||
│ Routes: /, /shareApp, /wallet, /profile, /contactSupport │
|
||||
│ Screens: SplashScreen, LoginPage, MapPagePassenger, Wallet, etc. │
|
||||
│ │
|
||||
│ siro_driver: │
|
||||
│ intaleq_driver: │
|
||||
│ Routes: /, /OrderRequestPage, /passenger-location-map │
|
||||
│ Screens: SplashScreen, LoginPage, PassengerLocationMapPage, etc. │
|
||||
│ │
|
||||
│ siro_admin: │
|
||||
│ intaleq_admin: │
|
||||
│ Routes: /login, /admin/dashboard, /admin/captain, /admin/rides │
|
||||
│ │
|
||||
│ siro_service: │
|
||||
│ intaleq_service: │
|
||||
│ Service agent app for driver registration & management │
|
||||
└──────────────────────┬─────────────────────────────────────────────┘
|
||||
│ GetX (Get.find, Get.put, Obx)
|
||||
@@ -52,7 +52,7 @@
|
||||
┌──────────────────────┴─────────────────────────────────────────────┐
|
||||
│ REPOSITORY LAYER (CRUD + Services) │
|
||||
│ │
|
||||
│ CRUD class (siro_rider/lib/controller/functions/crud.dart) │
|
||||
│ CRUD class (intaleq_rider/lib/controller/functions/crud.dart) │
|
||||
│ - post() → Main API POST with JWT + Device-FP headers │
|
||||
│ - get() → API GET (POST method) with retry logic │
|
||||
│ - postWallet() → Payment server POST with JWT + HMAC + FP │
|
||||
@@ -96,7 +96,7 @@
|
||||
## Dependency Graph
|
||||
|
||||
```
|
||||
Rider App (siro_rider) ───→ Main API ─────→ intaleqDB1
|
||||
Rider App (intaleq_rider) ───→ Main API ─────→ intaleqDB1
|
||||
├──→ Map SaaS ───────→ Custom Map Service
|
||||
├──→ OSRM ───────────→ OpenStreetMap
|
||||
├──→ Payment API ────→ Wallet DB
|
||||
@@ -104,14 +104,14 @@ Rider App (siro_rider) ───→ Main API ─────→ intaleqDB1
|
||||
├──→ WebSocket ──────→ Ride Socket Server
|
||||
└──→ Google Maps ────→ Google APIs
|
||||
|
||||
Driver App (siro_driver) ───→ Main API ─────→ intaleqDB1
|
||||
Driver App (intaleq_driver) ───→ Main API ─────→ intaleqDB1
|
||||
├──→ Location API ───→ car_locations
|
||||
├──→ Payment API ────→ Wallet DB
|
||||
├──→ WebSocket ──────→ Driver Socket Server
|
||||
├──→ Firebase ───────→ FCM
|
||||
└──→ Google Maps ────→ Google APIs
|
||||
|
||||
Admin App (siro_admin) ────→ Main API ─────→ intaleqDB1
|
||||
Admin App (intaleq_admin) ────→ Main API ─────→ intaleqDB1
|
||||
├──→ Payment API
|
||||
├──→ Firebase
|
||||
└──→ Internal Services
|
||||
|
||||
Reference in New Issue
Block a user