Files
tripz-llc/apps/driver/pubspec.yaml
T
Hamza-AyedandClaude Fable 5 de4bbd00ac feat: N1d/N2/N3 + قانون فلاتر وإعادة ضبط تطبيق السائق
الباك إند:
- تعيين أول أدمن صار يُنشئ المستخدم إن لم يوجد — كان يشترط دخولاً سابقاً،
  وهي بيضة ودجاجة تمنع الدخول إلى لوحة أي مستأجر جديد أصلاً.
- OTP_DEV_MODE كان يفشل مفتوحاً (`!== 'false'`): غياب المتغيّر أو خطأ مطبعي
  يترك الإنتاج برمز ثابت يفتح كل حساب، ويحرس السحب المالي كذلك. صار
  `=== 'true'` في الإعداد وفي قارئَيه، مع تحذير عند الإقلاع.
- N2: التحقّق من اللوغو عند الرفع (PNG/JPEG · 512+ · مربّع · سقف 5MB) عبر
  قراءة الترويسة بلا اعتمادية — بدل اكتشاف أيقونة ممطوطة بعد النشر.

N3: السكربت يولّد build_config.dart بأعلام const (طبقات docs/22 §1.5)،
ويضبط bundle IDs واسم التطبيق والأيقونات/splash، و--build يشغّل Shorebird.

فلاتر:
- docs/23: قانون مُلزِم للتطبيقين (البنية · Cubit · طبقة الشبكة · الأعلام).
- السائق: أُزيل Dart القديم (GetX) مع الإبقاء على الأصيل والإضافات وشهادات
  التوقيع وShorebird وFirebase الخاص به، وأُعيد هيكلته مطابقاً للراكب.
- طبقة الشبكة ترسل x-device-id وتجدّد التوكن عند 401 مرة واحدة فقط.
- الحزم موحّدة بين التطبيقين، والـAPI https حصراً في الاثنين.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 13:06:46 +03:00

85 lines
2.7 KiB
YAML
Executable File

# تطبيق السائق — أُعيد بناء طبقة Dart بالكامل (Cubit+Bloc، لا GetX).
# الاسم `sefer_driver` مُبقًى عمداً: تغييره يمسّ مراجع أصيلة قائمة.
# الحزم محكومة بجدول docs/23 §9 — إضافة حزمة خارجه تُوثَّق هناك أولاً.
name: sefer_driver
description: Tripz — تطبيق السائق
publish_to: "none"
version: 1.0.0+1
environment:
sdk: ">=3.5.0 <4.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
# ---- الإضافات الأصيلة المُعاد استعمالها (docs/23 §7) — لا يُعاد بناؤها ----
secure_string_operations:
path: ./secure_string_operations
trip_overlay_plugin:
path: ./trip_overlay_plugin
bubble_head:
path: ./bubble-master
# ---- البنية المعتمدة (docs/23 §9) ----
flutter_bloc: ^9.1.1 # الحالة
equatable: ^2.0.7
get_it: ^8.0.3 # الحقن
dio: ^5.7.0 # الشبكة — نقطة النداء الوحيدة
go_router: ^14.6.2 # التنقّل
flutter_secure_storage: ^9.2.2 # التوكنات (لا SharedPreferences)
# ---- الخرائط: flutter_map + بلاطات انطلق، لا google_maps_flutter ----
flutter_map: ^7.0.2
latlong2: ^0.9.1
# ---- الزمن الحقيقي والإشعارات ----
socket_io_client: ^3.0.2
firebase_core: ^4.1.1
firebase_messaging: ^16.0.2
flutter_local_notifications: ^18.0.1
# ---- خاصّ بالسائق: الموقع في الخلفية والعرض الطافي (docs/23 §10) ----
geolocator: ^13.0.2
flutter_background_service: ^5.1.0
flutter_background_service_android: ^6.3.1
flutter_overlay_window: ^0.4.5
battery_plus: ^6.2.0 # متحكّم الموقع واعٍ للبطارية
wakelock_plus: ^1.2.10
vibration: ^3.1.2
# ---- أدوات مساعدة ----
device_info_plus: ^11.2.0 # بصمة الجهاز (x-device-id — docs/17 D2)
connectivity_plus: ^6.1.0
permission_handler: ^11.3.1
package_info_plus: ^8.1.2
image_picker: ^1.1.2 # صور الوثائق
local_auth: ^2.3.0 # حيوية/تحقّق السائق
url_launcher: ^6.3.1
intl: ^0.20.2
cupertino_icons: ^1.0.8
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
flutter_launcher_icons: ^0.14.2 # يستدعيها سكربت التوليد (N3)
flutter_native_splash: ^2.4.3
flutter:
uses-material-design: true
assets:
- assets/
- assets/images/
- assets/fonts/
- assets/lang/
- shorebird.yaml
fonts:
- family: digit
fonts:
- asset: assets/fonts/digit.ttf