تكافل الذهبية
تطبيق بطاقة خصم بالعضوية — إصدار البطاقة والتحقق منها عند مقدّم الخدمة والتجديد السنوي لشبكة طبية على مستوى المملكة.

// بالأرقام
- 5+
- سنوات في الإنتاج
- 2
- منصات العميل
- 60%
- سقف الخصم
- 24 ساعة
- مدة الإصدار
على App Store منذ أكتوبر 2020 وما زال يُحدَّث في 2025
iOS وAndroid من قاعدة شيفرة Flutter واحدة
الخصم المعلن من العميل لأعضائه عبر شبكة مقدّمي الخدمة
المدة المعلنة من العميل بين التسجيل وتفعيل العضوية
ما الذي كان يواجهه العمل
بطاقة الخصم لا تساوي إلا ما يقبله موظف الاستقبال. لم يكن بيع العضوية هو الجزء الصعب قط، بل جعلها قابلة للاستعمال عند الكاونتر. كان العضو يحمل بطاقة مطبوعة، ولا يستطيع أي من طرفي المكتب أن يجيب بثقة عن السؤالين اللذين يهمّان فعلًا: هل ما زالت هذه العضوية سارية، وهل هذه العيادة أصلًا ضمن الشبكة؟ قوائم مقدّمي الخدمة المطبوعة كانت تتقادم في الشهر نفسه الذي تصدر فيه، وحالة العضوية تعيش في الإدارة، وكل خصم متنازع عليه يتحوّل إلى مكالمة مع مركز الاتصال بينما يقف العضو منتظرًا.
تطبيق عضوية لبطاقة خصم طبية وترفيهية سعودية. يشترك العضو ويدفع من داخل التطبيق، ويحصل على بطاقة رقمية يمكن التحقق من صلاحيتها في الحال، ويتصفّح الشبكة الطبية والتجارية التي تكرّمها — بالعربية أولًا، على iOS وAndroid، خلفها منظومة Laravel تحتفظ بحالة العضوية كمصدر حقيقة واحد.
كيف رُكِّب النظام
تطبيق الجوال
Flutter — iOS وAndroid
بطاقة العضوية الرقمية
تُقدَّم ويُتحقق منها عند الكاونتر
واجهة العضويات
الاشتراك · الإصدار · الانتهاء · التجديد
دليل الشبكة
مقدّمو الخدمة والعروض والكوبونات
قاعدة بيانات علائقية
الأعضاء ومقدّمو الخدمة والعروض
بوابة الدفع
صفحة دفع مستضافة للرسوم السنوية
الإشعارات الفورية
عروض جديدة وتذكير بالتجديد
حالة العضوية تعيش في سجل واحد، ويقرأ منه التطبيق والبطاقة ومركز الاتصال جميعًا.
القرارات التي شكّلت النظام
القرارات القليلة التي حدّدت سلوك هذا النظام — وماذا اشترى كل قرار منها.
- 01
صلاحية العضوية شاشة مستقلة لا تفصيلًا في الملف الشخصي
لحظة التحقق هي المنتج نفسه، فنالت أقصر مسار في التطبيق بدل أن تُدفن في صفحة الحساب. يستطيع العضو إثبات وضعه في ثوانٍ عند المكتب، وهذا هو الفارق بين بطاقة تُقبل وبطاقة يُجادَل فيها.
- 02
شبكة مقدّمي الخدمة تُخدَم ولا تُشحن داخل التطبيق
شبكة تتغيّر كل شهر لا يمكن أن تسكن داخل ملف التطبيق. تُجلب العيادات والعروض والكوبونات من الواجهة البرمجية، فيبقى الدليل الذي يراه العضو محدّثًا دون انتظار إصدار جديد — والبيانات المتقادمة أسوأ من غيابها، لأنها ترسل أحدهم إلى عيادة سترفضه.
- 03
سجل واحد يملك حالة العضوية
الاشتراك والإصدار والانتهاء والتجديد كلها تقرأ من سجل واحد في الخلفية، فلا يمكن أن يختلف التطبيق والبطاقة المطبوعة ومركز الاتصال حول تغطية أحدهم. وكان التوفيق بين ثلاث نسخ من الحقيقة هو العطل الذي استحق أن يُصمَّم خارج النظام أولًا.
- 04
بيانات البطاقة لا تلمس التطبيق ولا الخادم
تُحصَّل الرسوم السنوية عبر صفحة دفع مستضافة. تنتقل بيانات الدفع من العضو إلى المعالج مباشرة، فتبقى بيانات البطاقة — وما يتبعها من عبء امتثال — خارج قاعدة شيفرة يصونها فريق صغير.
- 05
قاعدة شيفرة Flutter واحدة للمنصتين
عميل واحد لـ iOS وAndroid هو سبب قدرة فريق صغير على مواصلة الإصدار: ظل التطبيق يتلقى التحديثات بعد أكثر من أربع سنوات من الإطلاق، وهو ما نادرًا ما ينجو منه بناء بقاعدتي شيفرة بهذا الحجم.
- 06
العربية أولًا لا العربية أيضًا
كل عضو مستهلك سعودي، فكانت العربية والتخطيط من اليمين إلى اليسار هي الحالة الافتراضية التي صُمّمت الواجهة حولها، لا طبقة ترجمة تُضاف لاحقًا.
قدرات مميزة
التحقق عند مقدّم الخدمة
الشاشة التي تثبت سريان العضوية تبعد نقرة واحدة عن فتح التطبيق، لأن قيمة البطاقة كلها في قبول موظف الاستقبال لها في اللحظة التي تُقدَّم فيها.
شبكة مقدّمي خدمة تُدار من الخادم
تُجلب العيادات والشركاء والعروض والكوبونات من الخلفية، فتبقى شبكة تتغيّر شهريًا دقيقة دون شحن إصدار جديد إلى المتاجر.
الاشتراك والتجديد
تُؤخذ الرسوم السنوية داخل التطبيق عبر بوابة مستضافة، ويقرأ الانتهاء والتجديد من سجل العضوية نفسه الذي تستعمله شاشة التحقق.
مصدر حقيقة واحد للعضوية
سجل واحد في الخلفية يسند التطبيق والبطاقة الصادرة ومركز الاتصال، فيكون لأسئلة التغطية جواب واحد لا غير.
تجربة جوال بالعربية أولًا
صُمّمت الواجهة حول العربية والتخطيط من اليمين إلى اليسار منذ البداية، لجمهور ناطق بالعربية بالكامل.
مجموعة مزايا العمل التجاري
النطاق الوظيفي المُسلَّم عبر كل جزء من المنتج.
الأعضاء
- التسجيل والحصول على عضوية
- بطاقة عضوية رقمية
- الملف الشخصي وبيانات المرافقين
- الاستفسارات وخدمة العملاء
- واجهة عربية بتخطيط من اليمين إلى اليسار
- إشعارات فورية
دورة حياة العضوية
- دفع الاشتراك داخل التطبيق
- التحقق من صلاحية العضوية
- إظهار تاريخ الانتهاء
- التجديد السنوي
- تذكيرات التجديد
الشبكة والعروض
- تصفّح شبكة مقدّمي الخدمات الطبية
- تصفّح الشركاء التجاريين والترفيهيين
- تصفية مقدّمي الخدمة حسب التصنيف
- العروض الحالية وكوبونات الخصم
- صفحة مقدّم الخدمة وبيانات التواصل
المنصة
- دليل يُدار من الخادم ويُحدَّث دون إصدار
- دفع عبر صفحة مستضافة دون تخزين بيانات البطاقات
- قاعدة شيفرة واحدة لـ iOS وAndroid
- مصانة في الإنتاج على مدى خمس سنوات
ما الذي تغيّر تشغيليًا
نتائج موثقة من النظام المُسلَّم. وحيث تكون الأرقام الدقيقة سرية، يُذكر التغيّر التشغيلي بدلًا منها.
- يعمل على App Store وGoogle Play منذ أكتوبر 2020 وما زال يتلقى التحديثات في 2025
- انتقل التحقق من العضوية من مكالمة مع مركز الاتصال إلى فحص داخل التطبيق
- تحديث شبكة مقدّمي الخدمة والعروض من الخادم دون الحاجة إلى إصدار جديد
- تحصيل الاشتراك السنوي داخل التطبيق عبر صفحة دفع مستضافة
- قاعدة شيفرة Flutter واحدة تخدم iOS وAndroid
- واجهة بالعربية أولًا بتخطيط كامل من اليمين إلى اليسار
ما كان علينا العمل ضمنه
- تُقدَّم البطاقة عند مكتب العيادة — فالتحقق يجب أن يتم في ثوانٍ وأمام الموظفين
- شبكة مقدّمي الخدمة تتغيّر باستمرار ولا يمكن ربطها بدورات إصدار التطبيق
- العضوية اشتراك سنوي مدفوع، فالفوترة والانتهاء يجب أن يكونا دقيقين تمامًا
- جمهور مستهلك في أنحاء المملكة، ناطق بالعربية بالكامل
- فريق صيانة صغير — كان على البناء أن يبقى زهيد التشغيل لسنوات لا لأشهر
ما الذي تولّيته
من البداية للنهاية في هذا المشروع — من المعمارية ونمذجة البيانات وحتى منتج إنتاجي مُسلَّم.
- تطبيق Flutter لـ iOS وAndroid
- واجهة Laravel البرمجية ونموذج بيانات العضويات
- تكامل دفع الاشتراكات
- دليل شبكة مقدّمي الخدمة والعروض
- توصيل الإشعارات الفورية
- النشر في المتاجر وإدارة الإصدارات
بُني بواسطة
الجوال
الواجهة الخلفية
البيانات
التكاملات
تريد شيئاً مثل تكافل الذهبية؟
استوديو برمجيات بوتيك — أنظمة بجودة الوكالات، يبنيها مهندس أول واحد.
// أعمال ذات صلة


