تربط Rate Me في لندن بين العملاء الذين ينشرون طلب أعمال والحرفيين الموجودين ضمن نطاق عملهم. يتقدم الحرفيون بعروضهم مقابل رصيد (8 أرصدة لكل عرض، و3 عروض كحد أقصى لكل طلب). يقارن العميل العروض ويتحدث مع كل مرشح في محادثة مخصصة ثم يختار الحرفي ويترك تقييمًا.
تخدم واجهة Laravel واحدة محمية بـ Sanctum تطبيق الويب Vue.js وتطبيق الهاتف Flutter (iOS وAndroid). يُشترى الرصيد عبر Stripe على الويب وعبر الشراء داخل التطبيق من Apple / Google على الهاتف، مع التحقق من كل عملية شراء على الخادم واسترداد تلقائي عند انتهاء صلاحية الطلب. تدير لوحة Filament المستخدمين والإشراف والدعم والاستردادات. يعمل النظام بالكامل بالإنجليزية والفرنسية والروسية.
من الإشكالية إلى النتائج
1
التحدي
في لندن، يستغرق العثور على حرفي موثوق ومتاح بالقرب من المنزل وقتًا طويلًا، بينما يجد الحرفيون صعوبة في الحصول على أعمال جادة في منطقتهم. أراد العميل منصة تربط الطرفين بسرعة، مع عروض قابلة للمقارنة وتقييمات موثقة.
2
الحل
تخدم واجهة Laravel واحدة كلاً من تطبيق الويب Vue.js وتطبيق Flutter. يتحكم نظام رصيد في ترشحات الخبراء ويقبل ثلاث وسائل دفع (Stripe وApple وGoogle). وتتولى مهام مجدولة إنهاء الطلبات القديمة مع استرداد رصيد المرشحين، وحذف البيانات المنتهية، وإخفاء هوية الحسابات المحذوفة.
3
النتائج
أكثر من 480 اختباراً آلياً بـ Pest، و99 مساراً لواجهة REST، و18 مورداً و8 عناصر إحصائية في لوحة Filament، و3 لغات (الإنجليزية والفرنسية والروسية).
الميزات
01نشر طلبات أعمال مع صور والمهنة والمدينة وعنوان محدد جغرافياً
02لا يرى الخبراء إلا الطلبات الواقعة ضمن نطاق عملهم (حساب المسافة بطريقة haversine)
03الترشح مقابل الرصيد: 8 أرصدة لكل عرض و3 عروض كحد أقصى لكل طلب
04يقارن العميل العروض المستلمة ويختار الخبير
05شراء الرصيد عبر Stripe Checkout على الويب والشراء داخل التطبيق من Apple وGoogle على الهاتف
06إدارة الاسترداد ونزاعات Stripe وطلبات الاسترداد التي يوافق عليها المسؤول
07محادثة بين العميل والخبير لكل طلب مع عداد للرسائل غير المقروءة
08دليل الخبراء مع بحث وملف تفصيلي ومعرض صور وتقييمات
09إشعارات FCM وإشعارات داخل التطبيق مترجمة إلى الإنجليزية والفرنسية والروسية
10تسجيل الدخول بالبريد الإلكتروني مع رمز تحقق، أو عبر Google وApple
11دعم مدمج عبر جلسات محادثة مع فريق الإدارة
12تصدير البيانات الشخصية وحذف الحساب وإخفاء الهوية تلقائياً بعد 12 شهراً
التقنيات حسب الطبقة
الواجهة الأمامية
Vue.js 3
Tailwind CSS 4
Pinia
Vue Router
vue-i18n
Vite
Blade
الهاتف
Flutter
Dart
Provider
Dio
Secure Storage
Deep links
ARB i18n
لوحة الإدارة
Filament 3
الخادم
Laravel 12
PHP 8.2
Laravel Sanctum
Intervention Image
Pest
قاعدة البيانات
MySQL
خدمات خارجية
Stripe
Apple In-App Purchase
Google Play Billing
Firebase Cloud Messaging
Firebase Crashlytics
Google Maps Places
Google Sign-In
Sign in with Apple
Cloudflare R2
البنية التحتية
VPS
Queues
Scheduler
Laravel Reverb
البنية التقنية
واجهة REST محمية برموز Sanctum مع تحديد معدل الطلبات (الدخول، رموز التحقق، البلاغات، الدخول الاجتماعي)
طبقة خدمات للمنطق التجاري (الطلبات، الرصيد، التقييمات، الإشعارات، الشراء داخل التطبيق)
الدفع: Stripe Checkout مع webhooks، والتحقق من إيصالات Apple (سلسلة x5c وES256) وGoogle، وwebhooks المتاجر
طوابير مهام (database) لإشعارات الهاتف وإشعارات الإدارة