إنتقل إلى المحتوى الرئيسي

البنية التقنية

نظرة عامة

شام باص هي منصة B2B2C لحجز تذاكر الباصات بين المدن في سوريا.

┌─────────────────────────────────────────────────────────────────┐
│ العملاء │
├──────────────┬──────────────┬──────────────┬───────────────────┤
│ تطبيق الجوال │ بوابة الحجز │ لوحة الشركات │ لوحة الإدارة │
│ (Flutter) │ (Next.js) │ (Next.js) │ (Next.js) │
└──────────────┴──────────────┴──────────────┴───────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ REST API │
│ (Next.js) │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ Supabase │
│ PostgreSQL + Auth + Storage + Realtime │
└─────────────────────────────────────────────────────────────────┘

التقنيات المستخدمة

المكونالتقنية
تطبيقات الجوالFlutter 3.16+, Riverpod
تطبيقات الويبNext.js 15, React 19, TypeScript
إدارة المشروعTurborepo + pnpm workspaces
قاعدة البياناتPostgreSQL (Supabase)
المصادقةSupabase Auth + OTP
التخزينSupabase Storage

هيكل المشروع

shambus/
├── apps/
│ ├── customer/ # بوابة الحجز (Port 3000)
│ ├── dashboard/ # لوحة الشركات (Port 3001)
│ ├── admin/ # لوحة الإدارة (Port 3002)
│ ├── docs/ # التوثيق (Docusaurus)
│ └── mobile/
│ ├── customer/ # تطبيق العميل
│ └── driver/ # تطبيق السائق

├── packages/
│ ├── ui/ # مكونات مشتركة
│ ├── types/ # أنواع TypeScript
│ ├── services/ # خدمات الأعمال
│ └── database/ # عميل Supabase

└── infrastructure/
└── supabase/ # ملفات الترحيل

الأقسام