Logic Leap HR — منصة موارد بشرية متعددة المستأجرين
منصة موارد بشرية تُباع كخدمة، مبنية كـ Modular Monolith في عشرين وحدة مستقلة لكل منها نماذجها وخدماتها ومساراتها واختباراتها. الخلفية Laravel 13 والواجهة React 18 بـ TypeScript، والاثنتان مستودعان منفصلان يتحدّثان عبر API واحدة.
نظرة عامة
منصة موارد بشرية مبنية كـ Modular Monolith في عشرين وحدة مستقلة: ملفات الموظفين والهياكل الوظيفية، الحضور المربوط بأجهزة البصمة، الإجازات وسلاسل الموافقات، الرواتب والبدلات، التوظيف والتقييم والتدريب، والعُهد والمستندات — مع لوحة تحكم React منفصلة تستهلك واجهة API.
01التحدي
أنظمة الموارد البشرية تنمو بسرعة إلى كتلة واحدة متشابكة: الحضور يعتمد على الجدول، والجدول على الشِفت، والشِفت على العطلات، والراتب على الحضور والإجازات والسلف والاستقطاعات — فأي تعديل في وحدة يكسر أخرى. والأنظمة الجاهزة تُصبح غير قابلة للتطوير بعد عام.
والتحدي الثاني تنظيمي: المنصة تُباع لأكثر من شركة، ولكل شركة سياساتها — سلاسل موافقات مختلفة، قواعد إضافي مختلفة، معادلات راتب مختلفة. تثبيت السياسة في الكود يعني نسخة لكل عميل.
والثالث محلي: مؤسسة التأمينات الاجتماعية (GOSI) وقواعد الإجازات والعطلات في السوق الخليجي ليست تفاصيل ثانوية بل جوهر حساب الراتب.
02الحل
بنينا النظام كـ Modular Monolith صريح: عشرون وحدة (حضور، إجازات، رواتب، موظفون، توظيف، تقييم، تدريب، عُهد، مستندات، موافقات، إنهاء خدمة، تقارير، مراسلة، إشعارات، إعدادات، اشتراكات، مستأجرون…) كل منها بمجلّداتها الكاملة — نماذج، خدمات، سياسات، مسارات، مستمعو أحداث، واختبارات. الوحدات تتحدّث بالأحداث والخدمات لا بالوصول المباشر لجداول بعضها، فالتعديل محصور.
والسياسات صارت بيانات لا كودًا: محرّك سياسة الموافقات يُعرَّف بخطواته ومسؤوليه لكل نوع طلب، وقواعد الحضور والإضافي والاستقطاع قابلة للتحرير، ومعادلات الراتب بُنيت كطبقة معادلات (formula overlay) تسمح لكل شركة بحساب مختلف على نفس المحرّك.
والالتزام المحلي مبني في القلب: إعدادات GOSI، أرصدة الإجازات وترحيلها واستحقاقها، العطلات ومُعامِلات الإضافي، والالتزامات والسلف كدفتر مستقل.
والواجهة React منفصلة كمستودع خاص تستهلك API واحدة موثّقة، مع خدمة ذاتية للموظف (Self-Service) على كل وحدة تقريبًا — فالموظف يقدّم إجازته ويصحّح بصمته ويقرأ راتبه بنفسه.
03الأثر
المنصة قابلة للبيع لشركات مختلفة السياسات دون نسخة لكل عميل: السياسة تُعرَّف من اللوحة لا في الكود.
والحدود بين الوحدات جعلت التطوير آمنًا: دورات إضافة كاملة — إنهاء خدمة، استحقاق الإجازات، محرّك سياسات الموافقات، طبقة معادلات الراتب — أُضيفت بتوافق خلفي دون كسر ما قبلها.
والخدمة الذاتية نقلت العمل اليدوي من قسم الموارد البشرية إلى الموظف نفسه: طلب الإجازة وتصحيح البصمة وقراءة الراتب صارت ذاتية.
أبرز ما يقدمه النظام
الوحدات التي جرى تسليمها وتشغيلها فعليًا.
-
01
عشرون وحدة مستقلة، كل منها بنماذجها وخدماتها وسياساتها ومساراتها واختباراتها.
-
02
حضور مربوط بأجهزة البصمة: استقبال البصمات، تصحيح البصمة، أذونات خروج، إضافي، وجداول ونوبات وأنماط أيام عمل.
-
03
محرّك سياسة موافقات: خطوات ومسؤولون لكل نوع طلب، وحقول طلب ديناميكية.
-
04
رواتب بطبقة معادلات قابلة للتعريف، بدلات واستقطاعات ومكافآت وسلف ودفتر التزامات وإعدادات GOSI.
-
05
إجازات باستحقاق وترحيل أرصدة، وأنصاف أيام، وعطلات بمُعامِلات إضافي، وتقويم إجازات.
-
06
ملفات موظفين وعقود ومؤهّلات وهيكل تنظيمي، واستيراد وتصدير، وطلبات تحديث بيانات بموافقة.
-
07
توظيف: شواغر ومتقدّمون ومقابلات وعروض عمل وتحويل المتقدّم إلى موظف.
-
08
إنهاء خدمة منظّم: حالات، مخالصة، بنود إخلاء طرف، ولوحة متابعة وتصدير.
-
09
عُهد وأصول بدورة حياة كاملة، ومستندات وقوالب خطابات بإخراج PDF.
-
10
خدمة ذاتية للموظف على كل وحدة تقريبًا، ومراسلة وحضور لحظي، وتحقّق ثنائي وسجل تدقيق.
-
11
اشتراكات وتفعيل وحدات لكل مستأجر، ولوحة مدير منصة، ونسخ احتياطي مجدول.
-
12
واجهة React 18 بـ TypeScript كمستودع منفصل، وتقارير مخصّصة ولوحات مؤشّرات.
التقنيات المستخدمة
ما بُني به النظام فعليًا — لا قائمة عامة.