كل عمليات Staroil، في نظام واحد.
النظام الذي تُدير به Staroil عملها: العملاء والعقود، والاستهلاك، والموافقات، والأفراد، وتسجيل الدوام. تطبيق ويب وواجهتان برمجيتان وتطبيق على Google Play وApp Store، بناها كلها فريق Nexus.
- العميل
- Staroil
- المجالات الوظيفية
- ٢٤
- الحالة
- في الإنتاج
عمل مُبعثَر بين جداول البيانات.
تُدير Staroil محطات وقود ومستودعات. قبل Pulse، كان كل قسم يحتفظ بجدول بياناته ومجلد بريده. ولم يكن الطلب «اصنعوا تطبيقًا»: بل جمع ما يُعمل أصلًا في مكان واحد، دون توقُّف العمل في أثناء ذلك.
أربعة وعشرون مجالًا، ونظام واحد.
لكل مجال وثائقه الوظيفية ونموذج بياناته وصلاحياته بحسب الدور. وهذا ما بداخله، مُجمَّعًا:
تسجيل الدوام في عشر ثوانٍ، من الهاتف أو من لوحية المركز.
التطبيق واحد، منشور على Google Play وApp Store، ويتصرَّف بطريقتين مختلفتين بحسب الرمز الذي يُسجَّل به الجهاز. ولا يبدأ هاتف أبدًا بوضع اللوحية، ولو وصله رمز مركز.
يُسجِّل أي فرد في الشركة دوامه باختيار اسمه من قائمة. وتلتقط الكاميرا الأمامية صورة في كل تسجيل، لأن اللوحية لا تطلب كلمة مرور: وهذا ما يتيح التحقُّق ممّن سجَّل.
لا يُسجِّل سوى صاحبه، ببريد وكلمة مرور. ولا يُقرأ الموقع إلا في اللحظة التي يُضغط فيها على «تسجيل» — لا في الخلفية أبدًا. ويضمّ كذلك الجدول والغيابات والتنبيهات.
معالجة بيانات التطبيق مُفصَّلة في سياسة الخصوصية الخاصة به: الموقع عند التسجيل فقط، وبلا تعرُّف على الوجوه، وبلا إعلانات ولا تحليلات، والبيانات داخل الاتحاد الأوروبي.
متعدِّد اللغات عن قصد.
كل قطعة مكتوبة باللغة التي تناسبها، وتُنسِّقها جميعًا السكربتات نفسها. وليس هذا انتقائية: بل ما أتاح استبدال الأجزاء دون إعادة بناء الكل.
- 01نواة بـ PHP على nginx وMySQL، بترحيلات مُرقَّمة وسجلّ تدقيق للتغييرات.
- 02واجهة برمجية بـ Java مع Spring Boot للعمليات التي تحتاج أنواعًا صارمة وتزامنًا.
- 03واجهة برمجية بـ Python مع Flask للاستيراد والتنبيهات، إضافة إلى BFF بـ FastAPI يخدم تطبيق الهاتف.
- 04تطبيق بـ React Native وExpo، وتنبيهات التسجيل مُبرمَجة في الهاتف نفسه: لا إشعارات دفع ولا سجلّ للأجهزة التي ثبَّتته.
هل يعيش عملك داخل جداول بيانات؟
Pulse على المقاس ولا يُباع كمنتج، لكن ما يُثبته يتكرَّر: جمع أقسام متفرِّقة في نظام يستخدمه الناس فعلًا.
تحدَّث إلى مهندس