منصة عضويات وتحكّم في الدخول
كل المشاريع

منصة عضويات وتحكّم في الدخول

Fitness and Wellness

2026 - الآن

ZKTeco
ماسح عتادي مدمج
2
نسخ متاحة، مكتبية وويب

عن المشروع

نظام عضويات وتحكّم في الدخول، يحمل فيه كل منخرط رمز QR وتتحقق شاشة المدخل من الدخول لحظيًا، وتواصل العمل عند انقطاع الاتصال.

دوري: تصميم المنتج والتطوير الكامل، بما في ذلك دمج الماسح العتادي ومسار الدخول دون اتصال.

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

يدير المنتج المنخرطين والاشتراكات، ويصدر رمز QR لكل منخرط، ويشغّل شاشة تحكم في الدخول تتحقق من كل مرور مقابل حالة الاشتراك. والماسح جهاز ZKTeco يعمل بنمط keyboard wedge، أي أنه يكتب محتوى الرمز متبوعًا بمفتاح الإدخال. وأقرأ ذلك على مستوى المستند لا عبر حقل إدخال يجب إبقاؤه في التركيز، فلا يستطيع المشغّل تعطيل الشاشة بالنقر في مكان آخر، ولا يقف أي مشغّل أجهزة أو حزمة تطوير من المصنّع بين العتاد والتطبيق.

شاشة الدخول هي الجزء الذي يجب ألا يسقط أبدًا، لذا صُمّمت لتواصل التحقق عند انقطاع الاتصال ثم تسوّي بياناتها لاحقًا. البنية مبنية على React 19 مع TypeScript على Vite، وTailwind v4، وFirebase للمصادقة والبيانات، ومغلّفة بـElectron لجهاز الاستقبال. بنيتها في مواجهة قاعة رياضية، وهي أصعب صور المشكلة: إقبال كثيف في ساعات ثابتة وطابور يتشكّل ما إن يتردّد المسح. والقطع الثلاث نفسها، هوية ورقية وحالة اشتراك وقرار باب، هي ما يحتاجه فضاء عمل مشترك أو مسبح أو عيادة خاصة، ولهذا لا يحمل أي جزء من النموذج اسم قاعة رياضية.

أهم الميزات

  • 🎫 رمز QR لكل منخرط: يولّد كل اشتراك رمزه الخاص، فلا يحتاج الدخول بطاقة ولا شارة ولا رمزًا خاصًا بمزوّد.
  • 🚪 شاشة دخول لحظية: يُتحقق من كل مسح مقابل حالة الاشتراك ويظهر الجواب على الشاشة فورًا.
  • 📴 يعمل عند انقطاع الاتصال: يواصل المدخل التحقق من المنخرطين دون اتصال ثم يسوّي البيانات عند عودته.
  • ⌨️ دمج ماسح دون مشغّل: يتصرف جهاز ZKTeco كلوحة مفاتيح تُقرأ على مستوى المستند، فلا تقف حزمة تطوير من المصنّع بين العتاد والتطبيق.
  • 🖱️ محصّن ضد فقدان التركيز: لأن المسح يُلتقط عالميًا، لا يستطيع مشغّل ينقر في مكان آخر تعطيل المدخل بصمت.
  • 💳 إدارة العضويات والباقات: تُدار العضويات وباقات الاشتراك والمنتجات من مكتب خلفي واحد بدل جدول بيانات.
  • 🏛️ غير مرتبط بنوع مكان واحد: الهوية وحالة الاشتراك وقرار الباب هي القطع الثلاث نفسها لقاعة رياضية أو فضاء عمل مشترك أو مسبح أو عيادة.
  • 🖥️ نسخة مكتبية جاهزة للاستقبال: يغلّف Electron التطبيق لجهاز الاستقبال، فلا يكون المدخل تبويب متصفح يمكن إغلاقه.
  • 🚦 الحالة اليوم: البرمجية جاهزة وتشغّل ماسحًا حقيقيًا، ولا يستثمرها أي موقع في الإنتاج بعد. ومرحّل الباب هو المرحلة التالية، فلا يدّعي الإصدار الحالي إلا ما يفعله.

مشكلات وحلول

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

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

المشكلة: تُكتب برمجيات التحكم في الدخول عادة لنوع واحد من الأماكن، فلا يستطيع منتج لقاعة رياضية خدمة فضاء عمل مشترك دون إعادة كتابة، مع أن كليهما يفعل الشيء نفسه تمامًا: التحقق مما إذا كان هذا الشخص مسدّدًا، الآن، أمام باب.

الحل: يحمل النموذج هوية وحالة اشتراك وقرار باب، ولا يحمل ما فوق ذلك اسم قاعة رياضية. وتغيير نوع المكان مسألة باقات وقواعد فتح لا مسألة كود، وهو ما يجعل النسخة نفسها قابلة للبيع لمسبح أو عيادة خاصة.

الحزمة التقنية

React
TypeScript
Firebase
Firestore
Tailwind CSS
Node.js