دراسة حالة
DropTaxi
SaaS متعدد المستأجرين لحجز سيارات الأجرة لمشغلي سيارات الأجرة في الهند. نشر واحد يخدم كل مستأجر بمواقع ويب بعلامات تجارية ونطاقات مخصصة وتحسين محركات بحث لكل مشغل.
164
اختبار ناجح
5
أنواع سيارات مدعومة
0
عمليات نشر لإضافة مستأجر
التحدي
مشغلو سيارات الأجرة احتاجوا مواقع ويب بعلامات تجارية بدون تكاليف بنية تحتية لكل مستأجر
مشغلو سيارات الأجرة الصغار في أنحاء الهند يديرون أعمالهم عبر المكالمات الهاتفية وواتساب. ليس لديهم تواجد على الويب. الذين لديهم يدفعون مقابل موقع مبني خصيصاً يكلف آلاف الروبيات شهرياً للاستضافة، وتحديث الأجرة أو إضافة مدن يعني الاتصال بمطور.
أراد العميل منصة يحصل فيها أي مشغل على موقع حجز بعلامته التجارية ومحسّن لمحركات البحث بمجرد توجيه نطاق وملء نموذج. بدون تغييرات في الكود. بدون إعادة نشر. كان يجب على مواقع الحجز حساب الأجرة لرحلات الذهاب فقط والذهاب والعودة عبر خمسة أنواع سيارات، وإرسال إشعارات الحجز عبر Telegram، والظهور في Google لمدينة كل مشغل المستهدفة.
القيد: كل هذا كان يجب أن يعمل على نشر واحد. خادم واحد. قاعدة كود واحدة. كل مستأجر يُخدم من نفس البنية التحتية.
ما بنيناه
منصة SaaS كاملة، من محرك الحجز إلى لوحة الإدارة
مواقع ويب بعلامات تجارية لكل مستأجر
كل مشغل يحصل على موقع ويب باسم علامته التجارية وشعاره وألوان التصميم ونطاقه المخصص. طبقة SSR تقرأ رأس Host في كل طلب، وتحل المستأجر من Turso، وتعرض العلامة التجارية الصحيحة. الزوار يرون موقع حجز كاملاً. لا يعرفون أبداً أنه يشارك البنية التحتية مع عشرات المشغلين الآخرين.
محرك أجرة مشترك
محرك حساب أجرة واحد يتعامل مع تسعير كل مستأجر. يدعم رحلات الذهاب فقط والذهاب والعودة عبر خمسة أنواع سيارات: Hatchback وSedan وSUV وInnova وInnova Crysta. كل مستأجر يحدد أسعاره الخاصة لكل كيلومتر عبر لوحة الإدارة. المحرك يجلب الأسعار الصحيحة وقت الطلب ويعيد تفصيل أجرة فوري للمستخدم.
لوحة إدارة رئيسية
لوحة التحكم على taxi.savibm.com تمنح مالك المنصة تحكماً كاملاً. إنشاء المستأجرين، تكوين ألوان التصميم، تحديد أسعار الأجرة لكل نوع سيارة، إدارة مسارات المدن، وعرض الحجوزات عبر جميع المشغلين. كل تغيير يسري على موقع المستأجر المباشر خلال ثوانٍ، بدون نشر.
إشعارات Telegram
كل مستأجر يربط بوت Telegram الخاص به. عندما يحجز عميل رحلة، يحصل المشغل على إشعار فوري بتفاصيل المسار ونوع السيارة والأجرة. لا تطبيق لتثبيته، لا لوحة تحكم لمراقبتها.
تحسين محركات بحث لكل مستأجر
كل موقع مستأجر يولّد وسوم meta خاصة به وصور Open Graph وبيانات منظمة وخريطة موقع. عندما يبحث أحد عن "حجز تاكسي [اسم المدينة]"، يظهر موقع المشغل بعلامته التجارية، وليس صفحة منصة عامة.
إضافة مستأجرين بدون نشر
إضافة مشغل تاكسي جديد تتطلب ثلاث خطوات: إنشاء المستأجر في لوحة الإدارة، تكوين علامته التجارية وأسعاره، توجيه DNS الخاص به. المنصة تلتقط النطاق الجديد في الطلب التالي. بدون تغييرات كود، بدون خط أنابيب CI.
البنية
نشر واحد، علامات تجارية متعددة
مسار الطلب
- 1 عميل يزور svdroptaxi.com. الطلب يصل إلى جهاز Fly.io واحد يشغل Astro 5 في وضع SSR.
- 2 وسيط Hono يستخرج رأس Host ويستعلم Turso (عبر Drizzle ORM) لحل المستأجر حسب النطاق.
- 3 تكوين المستأجر (اسم العلامة التجارية، الألوان، الشعار، أسعار الأجرة، مسارات المدن) يُحمّل في سياق الطلب.
- 4 Astro يعرض الصفحة بعلامة المستأجر التجارية. مكونات React تتعامل مع حاسبة الأجرة ونموذج الحجز على جانب العميل.
- 5 عند تقديم الحجز، مسار API يتحقق باستخدام Zod، يكتب في Turso، ويطلق إشعار Telegram إلى بوت المشغل.
مستودع Turborepo أحادي
قاعدة الكود تنقسم إلى حزم: تطبيق Astro للمستأجر، لوحة الإدارة، مخططات قاعدة بيانات مشتركة، ومحرك حساب الأجرة. Turborepo يخزّن البناءات عبر الحزم مؤقتاً، لذا تغيير في محرك الأجرة يعيد بناء ما يعتمد عليه فقط.
Turso على الحافة
Turso يوفر نسخ SQLite مدمجة قريبة من المستخدمين. استعلامات حل المستأجر تستغرق ميلي ثوانٍ من رقم واحد. Drizzle ORM يمنحنا استعلامات آمنة النوع مع التحقق من مخططات Zod على الحدود، و164 اختبار Vitest تغطي محرك الأجرة وحل المستأجر وتدفق الحجز.
النتائج
164
اختبار يغطي محرك الأجرة وحل المستأجر وتدفق الحجز
0
عمليات نشر مطلوبة لإضافة مشغل تاكسي جديد
5
أنواع سيارات بأسعار أجرة مستقلة لكل مستأجر
1
جهاز Fly.io واحد يخدم جميع المستأجرين من نشر واحد
تواصل معنا
ابدأ محادثة
أخبرنا عن مشروعك. سنردّ خلال 24 ساعة بخطة واضحة، وجدول زمني تقديري، ونطاق التسعير.
البريد الإلكتروني
hello@savibm.comمقرّنا في
الإمارات والهند
تم استلام الرسالة
سنراجع مشروعك ونعود إليك خلال 24 ساعة.
يمكنك أيضًا التواصل معنا عبر hello@savibm.com