المشروع 02 — PKD

من شريحة عند صف الزراعة
إلى كشف ساعات العمل.

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

بقلم عباس حسيني· ويب، أندرويد، iOS· برمجية مملوكة

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

واجهة إدارة PKD على الحاسوب: مخطط سير العمل ليوم واحد، الأشخاص في جهة، الأنشطة في الوسط، الأقسام في الجهة الأخرى، تربطها أشرطة ملوّنة
الشكل 1 — يوم العمل في مخططالموظفون ← أوقات العمل ← سير العمل

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

مخطط سير العمل في عرض الصفوف: الأشخاص والأنشطة وصفوف قسم واحد مع الدقائق والأوقات لكل صف
الشكل 2 — حتى مستوى الصفقسم واحد، عرض «الصفوف»

يظهر لكل صف عدد الدقائق وفترات العمل وعدد مرات العمل فيه خلال اليوم. ويُرتّب المخطط بحسب أول عملية مسح، فيُقرأ من الأعلى إلى الأسفل وفق تسلسل اليوم.

تطبيق PKD على الهاتف، شاشة «الآن»: الحضور مسجّل، نشاط جارٍ مع القسم والصف
تطبيق PKD، شاشة «اليوم»: ساعات العمل وقائمة عمليات المسح مع الوقت والنشاط والصف والمدة
تطبيق PKD، قسم «التعلّم»: فيديوهات قصيرة عن الوصول ويوم العمل وتغيير الصف والاستراحات
الشكل 3 — تطبيق الموظفينالآن · اليوم · التعلّم

ثلاثة أسئلة: هل أنا مسجّل الحضور؟ ما العمل الجاري الآن؟ ماذا أنجزت اليوم؟ وتظهر الدردشة والصور والفيديوهات التدريبية في الشريط السفلي.

تطبيق PKD بالأوكرانية: شاشة «الآن» مع حالة الحضور وآخر نشاط
تطبيق PKD بالبولندية: قسم «التعلّم» مع الخطوات الأولى
تطبيق PKD بالأوكرانية: شاشة «اليوم» مع ساعات العمل وعمليات المسح
الشكل 4 — باللغة الأمالألمانية، البولندية، الأوكرانية، الرومانية

اللغة مرتبطة بالحساب لا بالجهاز: الواجهة والفيديوهات التعليمية والرسائل.

ما تقدّمه المنصة

تسجيل، تحليل، تواصل.

تسجيل الوقت بالشريحة
يُسجَّل الحضور والانصراف وكل نشاط بشريحة NFC عند الصف أو برمز QR. يحدّد الخادم الوقت المعتمد، وتُحفظ عملية المسح على الهاتف حتى يعود الاتصال.
سير العمل، تتبّع الأنشطة، الحالة الآن
يُعرض يوم العمل في مخطط بحسب الأقسام أو الصفوف، وتوضع عدة أيام جنبًا إلى جنب لتتبّع الانتقال من الأمس إلى اليوم. وتُظهر الحالة المباشرة من الموجود وما العمل الجاري.
كشف الساعات والرواتب
لكل شخص كشف شهري بكل أيام التقويم. كل تعديل يحتاج إلى تعليق. اعتماد الشهر، PDF، إكسل، ومطابقة مع برنامج الرواتب.
دردشة الفريق والمكالمات
محادثات فردية وجماعية، رسائل صوتية، ملفات، ومكالمات عبر الإنترنت. وتظهر جهات الاتصال الرئيسية في الأعلى: المدير، مشرف الفريق، والدعم.
التعلّم باللغة الأم
فيديوهات قصيرة عن الخطوات الأولى والمعلومات المهمة، بكل لغات التطبيق.
عدّاد العبوات بالكاميرا
كاميرا فوق السير الناقل تعدّ عبوات المنتجات، وتصنّفها بالذكاء الاصطناعي حسب الحجم، وترصد التالف منها. تظهر النتائج مباشرة، وعبر الزمن، وفي تقارير مصوّرة.
المواقع والشرائح
الأقسام والصفوف على هيئة مخطط. كل صف يحمل بطاقة فيها شريحة، وتُبرمج الشرائح من واجهة الإدارة.
هواتف العمل والتشغيل
هواتف عمل في وضع الكشك، تحديثات على مراحل، حساب واحد لكل هاتف. وخلف ذلك خادم بنسخة احتياطية يومية ونسخة أخرى لدى مزوّد ثانٍ.
الشكل 5 — عدّاد العبواتتسجيل شاشة، من دون صوت

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

عدّاد العبوات خلال شهر: مؤشرات، رسم بياني بالأعمدة لكل يوم، وجدول بالإجمالي والعبوات الكبيرة والصغيرة والتالفة
مخطط الموقع: صفوف البيت المحمي مرسومة كمخطط مع الأقسام وتصفية حسب نوع نقطة المسح
الشكل 6 — تطوّر العدد ومخطط الموقعالعبوات المعدودة يوميًا · مخطط الموقع مع شريحة لكل صف
كشف ساعات شهر واحد لشخص واحد: لكل يوم في التقويم الحالة والحضور والانصراف والتواجد ووقت العمل والأنشطة والملاحظات والتعليقات
الشكل 7 — الكشف الشهريالموظفون ← أوقات العمل ← الساعات

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

التفاصيل التقنية

كيف بُنيت المنصة

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

1. خادم واحد، أجهزة كثيرة

خدمة Hub مكتوبة بلغة Go وتستخدم PostgreSQL. يقدّم وكيل Caddy واجهة البرمجة والتطبيق من نطاق واحد. ولا يتاح الوصول من الخارج إلا عبر نفق.

الأجهزة
أندرويد، iOS، كشك، متصفح، حاسوب الكاميرا
  • تطبيق ويب واحد للهاتف والإدارة
  • تطبيقات أصلية مرافقة: NFC، إشعارات، مكالمات، تحديثات
  • تطبيق وضع الكشك على هواتف العمل
⇄HTTPS
نطاق واحد
Hub · Go
واجهة برمجة، تحليل بيانات، إشعارات، بريد، مهام
  • صلاحيات لكل شخص ولكل قسم
  • يحسب وقت العمل وسير العمل وكشف الساعات
  • إشعارات، بريد، تقارير، مطابقة الرواتب
⇄SQL
PostgreSQL
قاعدة بيانات واحدة، مرجع موحّد
  • كل الوحدات في قاعدة بيانات واحدة
  • نسخ يومية، ونسخة لدى مزوّد ثانٍ

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

2. نموذج المسح

لا تحمل الشريحة سوى معرّف هو الخانة (Slot). ويُحدَّد معنى هذا المعرّف في تعريف له تاريخ بدء صلاحية. وكل عملية مسح تُسجَّل حدثًا لا يُغيَّر لاحقًا.

  1. يرسل الهاتف الخانة ومعرّف الحدث وتوقيته. الوقت المعتمد يحدده الخادم.
  2. تسجّل خدمة Hub الحدث مع الشخص والخانة والتعريف والوقت والمصدر.
  3. المدة تُحسب عند القراءة فقط. وإذا تغيّر استخدام صف، تبقى الأحداث القديمة صحيحة.
  4. إذا وصلت عملية المسح نفسها مرتين، تُحسب مرة واحدة.

3. من دون شبكة

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

4. التحليل

تُجري خدمة Hub جميع الحسابات. ويستخدم مخطط سير العمل وتتبع الأنشطة وكشف الساعات والتقارير المرسلة بالبريد الدوال نفسها.

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

5. الدردشة والمكالمات والتعلّم

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

6. الأجهزة

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

7. التشغيل

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

8. بطاقة المشروع

الدورالتصور والمعمارية والتنفيذ والتشغيل والدعم
المستخدمونموسميون ودائمون، رؤساء عمال، المكتب، الإدارة؛ الألمانية والبولندية والأوكرانية والرومانية
الخادمGo, PostgreSQL, Caddy, Docker Compose، نفق، مخزن كائنات، فاحص فيروسات، مرحّل TURN
الواجهة الأماميةAstro, TypeScript, Service Worker, d3-sankey، تصدير PDF وإكسل
التطبيقاتأندرويد وiOS ضمن تطبيقات أصلية مرافقة، وتطبيق خاص بوضع الكشك؛ شرائح NFC عند الصفوف، ورموز QR بديلًا عنها
الوحداتتسجيل الوقت، سير العمل، تتبّع الأنشطة، كشف الساعات، مطابقة الرواتب، الدردشة والمكالمات، التعلّم، عدّاد العبوات، المواقع، فحص الجودة، البيوت المحمية، الإعلانات الداخلية، صندوق البريد، مستكشف الملفات
الشيفرةمملوكة، غير منشورة