تغيير اللغة:

تابعنا

BYKII ERP — نظام موارد بشرية ورواتب متعدد المستأجرين
أنظمة ERP وSaaS متعددة المستأجرين

BYKII ERP — نظام موارد بشرية ورواتب متعدد المستأجرين

مساهمة هندسية في نظام ERP للموارد البشرية والرواتب: منطق تعويضات مؤرَّخ زمنيًا وتشفير AES-256-GCM لبيانات الموظفين الحساسة.

المشكلة

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

دوري في المشروع

أساهم في BYKII ERP بصفتي أحد مهندسي الفريق، لا مالكًا للمنتج. ويتركز عملي على نظامين فرعيين: منطق التعويضات المؤرَّخ زمنيًا، والتشفير على مستوى الحقول لبيانات الموظفين الحساسة؛ إضافة إلى مشاركتي في بنية بيانات المنصة الموضحة أدناه، وهي تصميم مشترك لا عمل فردي.

البنية المعمارية

  • تُنمذَج التعويضات كسجلات مؤرَّخة زمنيًا لا كحقول قابلة للتعديل، فيحمل كل معدَّل الفترة التي يسري فيها. وبذلك يسأل نظام الرواتب عمّا كان صحيحًا في تاريخ محدد بدل قراءة القيمة الأخيرة، فتتحول التعديلات بأثر رجعي والتصحيحات اللاحقة إلى استعلام عادي بدل هجرة بيانات.
  • تُشفَّر حقول الموظفين الحساسة على مستوى الحقل بخوارزمية AES-256-GCM، فتنتقل الحماية مع القيمة نفسها إلى النسخ الاحتياطية والنسخ المتماثلة. وGCM نمط موثَّق الأصالة، أي أن أي عبث بالبيانات يُكتشف بدل أن يُفَك تشفيره بصمت إلى قيمة تبدو سليمة.
  • شاركت في تصميم بنية PostgreSQL متعددة المستأجرين واقتصادية التكلفة التي يشترك فيها النظام مع بقية المنصة: نحو 200 جدول، بموازنة مقصودة بين عزل المستأجرين وبساطة التشغيل وأداء الاستعلامات، بدل اللجوء تلقائيًا إلى قاعدة بيانات مستقلة لكل مستأجر.
  • أدوات تهيئة بيانات منظمة تمنح الفريق بيئات قابلة لإعادة الإنشاء، فيبدأ المطوّر أو المستأجر التجريبي من مجموعة بيانات معروفة بدل بيانات يدوية لا تتطابق بين جهازين.

التقنيات

NestJS 11 و TypeScript و PostgreSQL و Prisma و Turborepo وتشفير AES-256-GCM على مستوى الحقول.

النتيجة

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