- ride-types: per-tenant catalog (economy/comfort/electric/family_van/women/scooter), seeded
- matching now class-scoped (geo:drivers:{tenant}:{class}); trips match by requested type
- trips: is_round_trip (doubles distance for fare) + payment_method + wallet settlement on paid
- dispatch: operator creates trip for phone customer (role-guarded)
- wallet: balance + credit/debit + txns + self topup; wallet-paid trips settle rider→driver
- notifications: FCM device tokens + best-effort push (assign event)
- realtime: trip:join, live driver:location broadcast, WebRTC call signaling (offer/answer/ice/end)
- migration InitP2 (ride_types, wallets, wallet_txns, device_tokens, trips.is_round_trip)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
# ==== Tripz backend env (شغّل: cp .env.example .env) ====
|
|
# ملاحظة: السيرفر مشترك — كل شيء معزول ببادئة tripz و Redis DB غير الافتراضي (راجع docs/14)
|
|
|
|
NODE_ENV=development
|
|
API_PORT=4010 # منفذ غير شائع لتفادي التصادم على السيرفر المشترك
|
|
|
|
# ---- PostgreSQL (قاعدة مستقلة + بادئة جداول) ----
|
|
DB_HOST=postgres
|
|
DB_PORT=5432
|
|
DB_NAME=tripz
|
|
DB_USER=tripz
|
|
DB_PASSWORD=change_me_strong
|
|
DB_TABLE_PREFIX=tripz_
|
|
DB_SYNC=false # لا synchronize في الإنتاج — هجرات فقط
|
|
|
|
# ---- Redis (DB رقم 3 غير الافتراضي 0 + بادئة مفاتيح) ----
|
|
REDIS_HOST=redis
|
|
REDIS_PORT=6379
|
|
REDIS_DB=3
|
|
REDIS_KEY_PREFIX=tripz:
|
|
|
|
# ---- BullMQ ----
|
|
QUEUE_PREFIX=tripz_
|
|
|
|
# ---- Auth ----
|
|
JWT_SECRET=change_me_jwt_secret
|
|
JWT_EXPIRES=15m
|
|
JWT_REFRESH_EXPIRES=30d
|
|
|
|
# ---- Maps (انطلق / map-saas) ----
|
|
MAPS_TILES_URL=http://martin:3000
|
|
MAPS_PROVIDER=antlaq
|
|
MAPS_BASE_URL=https://map-saas.intaleqapp.com
|
|
# مفاتيح انطلق لكل دولة (ضع القيم الحقيقية في .env على السيرفر — لا تُرفع لـ git)
|
|
MAPS_API_KEY_JO=
|
|
MAPS_API_KEY_SY=
|
|
MAPS_PLACES_API_KEY=
|
|
|
|
# ---- OTP via Nabeh (WhatsApp) ----
|
|
# اتركه dev لتفعيل الرمز الثابت 1234 بلا إرسال؛ اجعله false للإرسال الحقيقي عبر Nabeh
|
|
OTP_DEV_MODE=true
|
|
NABEH_BASE_URL=https://nabeh.intaleqapp.com
|
|
NABEH_EMAIL=
|
|
NABEH_PASSWORD=
|
|
NABEH_OTP_TYPE=text
|
|
|
|
# ---- FCM push (اتركه فارغاً لتعطيل الإرسال) ----
|
|
FCM_SERVER_KEY=
|
|
FCM_ENDPOINT=https://fcm.googleapis.com/fcm/send
|