Mohamed Bardouniمهندس منتجات

ClinicQu: حجز عيادات وطابور مباشر

منصة حجز مواعيد عيادات: تطبيق Flutter يحجز فيه المريض ويتابع موقعه في الطابور، وباك إند Laravel تديره العيادة من لوحة تحكم.

FlutterLaravel 12ReverbTap Payments

السياق

الحجز المزدوج هو وضع الفشل الذي يهدم الثقة في منتج مواعيد. مريضان يضغطان نفس الموعد في نفس اللحظة حالة سباق عادية، ونتيجتها شخص يصل إلى العيادة ولا يجد له مكاناً. وطابور بلا تحديث مباشر يعني مريضاً ينتظر في القاعة بلا معلومة.

النطاق الذي أعرضه علناً

  • تطبيق Flutter للمريض: الحجز، متابعة الطابور، الملف الطبي، والدفع.
  • باك إند Laravel 12 يملك المستشفيات والعيادات والأطباء والحجوزات وحالة الطابور وقوائم الانتظار، مع لوحة تحكم للطاقم.
  • حماية من الحجز المزدوج بطبقتين: قفل على السطر داخل معاملة قاعدة بيانات، وفهرس فريد مركّب على العيادة والطبيب والتاريخ كخط دفاع ثانٍ.
  • بثّ مباشر عبر Laravel Reverb على قنوات خاصة مصرّح بها، تُطلق بعد نجاح المعاملة لا قبلها.
  • مدفوعات Tap بمفاتيح خاصة بكل عيادة، مع تحقّق من توقيع الويب هوك بـ HMAC قبل قبوله.

قرارات ومقايضات

  • منع الحجز المزدوج في قاعدة البيانات لا في الواجهة: القيد الذي يحمي فعلاً هو الذي لا يستطيع أي مسار في التطبيق تجاوزه.
  • إطلاق أحداث البثّ بعد إتمام المعاملة، حتى لا يصل إشعار عن حجز قد يُلغى بتراجع المعاملة.
  • عزل بيانات كل عيادة بربط علائقي وتحديد نطاق الاستعلامات، لا بقاعدة بيانات لكل مستأجر — أبسط في التشغيل وكافٍ لهذا الحجم.
  • مفاتيح دفع لكل جهة، فأموال كل عيادة تصل إليها مباشرة بدل حساب وسيط واحد.
  • المقايضة: العزل على مستوى التطبيق يعني أن أي استعلام يُكتب بلا تحديد نطاق هو تسريب محتمل — قيد يجب أن ينضبط بالمراجعة.

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

إفصاح: المشروع مبني وموقوف منذ يونيو 2026، لا منشور ولا مكتمل. لا أنشر أي رقم عن عيادات أو حجوزات.

هل تحتاج منتجاً مشابهاً؟

أرسل لي المشكلة والمستخدمين والنطاق المتوقع.