🔨 نظام جلسات المزادات

هنبنيها إزاي؟ التصميم التقني

من غير كلام تقني تقيل — بس المبادئ اللي لو اتبنى عليها النظام هيبقى عادل وسريع ومايقعش في نص جلسة.

الصورة الكبيرة

📱 موبايلات المزايدينمتصفح — mobile first
📺 شاشة القاعةمتصفح ملء الشاشة
💻 كونسول مدير الجلسةلابتوب/تابلت
💻 الأدمن والتسجيللوحة تحكم
🖥️ السيرفر — «الحَكَم»هو الوحيد اللي بيحسب العدّاد وبيرتّب المزايدات وبيعلن الترسية
🗄️ قاعدة البياناتكل مزايدة بتتكتب لحظتها — مفيش حاجة في الهوا

3 مبادئ غير قابلة للتفاوض

⚖️ 1. السيرفر صاحب الساعة

العدّاد التنازلي اللي بيبان على الشاشات كله «مرآة» لعدّاد واحد حقيقي شغال على السيرفر. ليه؟ علشان لو موبايل حد بطيء أو ساعته مضبوطة غلط، ده ميأثرش على عدالة المزاد. المزايدة بتتحسب بلحظة وصولها للسيرفر — نقطة.

2. التحديث لحظي مش «ريفريش»

بنستخدم WebSockets — يعني السيرفر بيزُقّ التحديث لكل الشاشات فورًا (أقل من ثانية) بدل ما كل موبايل يفضل يسأل «فيه جديد؟». في قاعة فيها 50 موبايل، ده الفرق بين مزاد سلس ومزاد كله لاج.

💾 3. كل حاجة متسجلة فورًا

كل مزايدة، إلغاء، إيقاف مؤقت، واعتماد — بيتكتب في قاعدة البيانات لحظة حصوله بتوقيته. لو الكهربا قطعت ورجعت، الجلسة بتكمل من آخر لحظة بالظبط. وده كمان اللي بيخلي محضر الجلسة يطلع بضغطة زر.

الأمان — مين يقدر يزايد؟

خط الدفاعبيمنع إيه؟
كود الجلسة (QR) بيتولّد عشوائي لكل جلسة حد من برّه القاعة يخمّن لينك الجلسة
الرقم القومي لازم يكون متسجل مسبقًا في الجلسة دي تحديدًا حد عرف الكود بس مش من المدعوين — مش هيعدّي
جهاز واحد نشط لكل مزايد — الدخول من جهاز جديد بيقفل القديم إن حد يدي بياناته لاتنين يزايدوا في نفس الوقت
كل الصلاحيات على السيرفر — الموبايل مجرد شاشة عرض وأزرار أي تلاعب من متصفح المزايد (تعديل أسعار، تخطي الحد الأدنى.. إلخ)
سجل تدقيق (Audit Log) لكل فعل من كل مستخدم أي خلاف بعد الجلسة — كل حاجة ليها إثبات بالتوقيت
تعزيز اختياري: لو حبينا تحقق أقوى من الرقم القومي لوحده، ممكن نضيف OTP — كود بيتبعت واتساب/SMS على رقم الموبايل المسجّل وقت الدخول. مش ضروري في النسخة الأولى (القاعة أصلًا مقفولة على المدعوين)، بس الباب مفتوح ليه.

إنترنت القاعة — أهم قرار تشغيلي

النظام كله واقف على إن الموبايلات متوصلة بالسيرفر. علشان كده بنرشّح:

📡 راوتر واي فاي خاص بالقاعة

شبكة واي فاي اسمها مثلًا «Mazad-Hall» مخصصة للجلسة، وكلمة سرها معروضة مع الـ QR. المزايدين بيتوصلوا بيها بدل الاعتماد على شبكة المحمول اللي ممكن تكون ضعيفة جوه القاعات.

☁️ السيرفر على الكلاود + خطة بديلة

السيرفر الأساسي على الكلاود (أسهل في الإدارة والنسخ الاحتياطي). ولو نت القاعة نفسه وقع؟ فيه راوتر 4G احتياطي بشريحة — بيشتغل في ثواني. ولو عايزين حماية أقصى في مرحلة لاحقة: نسخة من السيرفر بتشتغل على لابتوب جوه القاعة نفسها.

مراحل التنفيذ المقترحة

1

النسخة الأولى (MVP) — اللي يخلّي أول جلسة حقيقية تشتغل

إنشاء الجلسات والبنود · تسجيل المزايدين بالرقم القومي · الدخول بالـ QR · شاشة القاعة · المزايدة الحية بالعدّاد · الترسية والاعتماد · محضر الجلسة للطباعة. ده بالظبط اللي شفته في الديمو.

2

النسخة التانية — تحسينات التشغيل

تسجيل التأمين الابتدائي · إشعارات واتساب (تذكير + نتيجة) · تقارير وأرشيف الجلسات · صلاحيات أدق · إلغاء مزايدة بواسطة مدير الجلسة بتوثيق كامل.

3

بعدين — التوسع

ربط بيع الكراسات نفسه بالنظام · OTP · لوحات تحليلات · وربما تقديم النظام كخدمة لجهات تانية بتعمل مزادات.

ليه الترتيب ده؟ عايزين نوصل لأول جلسة حقيقية بأسرع وقت — لأن أول جلسة هتعلّمنا عن الاحتياجات الفعلية أكتر من أي تخطيط على ورق. كل اللي في المرحلة 2 و3 مبني على أساس المرحلة 1 من غير إعادة بناء.

أدوات البناء (للمهتم بالتفاصيل)

القرار النهائي بيتاخد مع فريق التطوير — دي ترشيحات مجربة في أنظمة لحظية مشابهة، وكلها بتحقق المبادئ التلاتة اللي فوق.

الجزءالترشيحليه
الواجهة (المتصفح) صفحات ويب خفيفة mobile-first (مثلًا React أو حتى HTML/JS بسيط) شاشة المزايد بسيطة عمدًا — مش محتاجة تعقيد
السيرفر + الاتصال اللحظي ‎.NET (SignalR)‎ أو Node.js (Socket.IO) الاتنين ناضجين في الـ WebSockets — الاختيار حسب خبرة الفريق
قاعدة البيانات PostgreSQL أو SQL Server قواعد علائقية موثوقة — سجل المزايدات محتاج ضمانات صارمة
محضر الجلسة توليد PDF من السيرفر شكل موحد جاهز للطباعة والتوقيع
→ السابق: الديمو