engineering

الهندسة

هذه التقنيات والممارسات مأخوذة من مشاريعنا الفعلية. وما لا نملكه بعد لا نكتبه هنا.

يعملتطبيق أندرويد قيد التطوير

الموظف

منصة موظف ذكاء اصطناعي تخدم عدة منشآت، لكل منها بياناتها المعزولة.

الواجهة
Next.js · TypeScript · Tailwind CSS
الخادم
Django · Django REST Framework
البيانات والمهام
PostgreSQL 18 · Redis · Celery
عزل المنشآت
كل منشأة ترى بياناتها فقط، وهذا مفروض في طبقتين: الخادم يتحقق عند كل طلب من عضوية المستخدم وصلاحية دوره، وقاعدة البيانات نفسها تطبّق سياسة أمان على مستوى الصفوف (Row-Level Security) على جداول المحادثات والحجوزات والكتالوج والقنوات والفوترة. ولو نسي الكود شرط المنشأة، لا تظهر بيانات منشأة أخرى.
الاختبار
31 ملف اختبار للخادم، منها اختبارات عزل تثبت أن عضو منشأة لا يقرأ بيانات منشأة أخرى ولا يعدّلها ولا يحذفها، واختبارات شاملة للواجهة بـ Playwright. ويعمل فحص آلي (CI) عند كل رفع للكود.
التشغيل
Docker Compose · Caddy
على App Store للآيفوننظام الإدارة يعمل

مسطر

خدمات وصيانة المنازل: تطبيق للزبون والفني، ولوحتا إدارة تعملان اليوم.

التطبيق
Flutter، منشور على App Store للآيفون، ويستهدف Android أيضاً.
الخادم
PHP · MySQL
الصلاحيات
يمرّ الطلب من التطبيق عبر HTTPS إلى PHP ثم إلى MySQL، فلا يصل التطبيق إلى قاعدة البيانات مباشرة. الصلاحيات وحالات الطلب تُفرض في الخادم، ولا يثق الخادم بعنوان مرسل من الهاتف.
اللوحات
لوحة إدارة للتشغيل والمراقبة، ولوحة مطوّر للمحتوى والخدمات، بصلاحيات منفصلة.
المحتوى
حزمة المحتوى تحمل إصداراً وبصمة SHA-256، ويرفض التطبيق أي نسخة غير مطابقة.
الاختبار
25 ملف اختبار لتطبيق Flutter، وترحيلات قاعدة البيانات مرقّمة.

ممارسات مشتركة

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

هذه ممارسات هندسية داخلية موثّقة في مشاريعنا، وليست شهادة أو تدقيقاً أمنياً من جهة خارجية.

ناقش مشروعك معنا كيف نتعاقد