Xera Lab: منصة إدارة حالات طب الأسنان
بوابة عملاء ولوحة تحكم للإدارة فوق واجهة برمجية واحدة بـ Node.js، بُنيت وسُلِّمت للعميل كنظام إنتاج خاص. النوع من المنصات الذي يحل محل مجلد مشترك وجدول إكسل.
السياق
معمل الأسنان يقف بين العيادات والفنيين. تصل الحالة من طبيب أسنان مع صور وقياسات وموعد نهائي؛ وتمرّ بعدة مراحل داخل المعمل؛ والطبيب يريد أن يعرف أين وصلت دون أن يتصل.
وقبل وجود نظام، تعيش هذه المتابعة في مرفقات البريد وقرص مشترك وذاكرة أحدهم.
المشكلة
- لم يكن للحالات وملفاتها بيت واحد، فصارت النسخة الحالية من أي ملف هي آخر ما أُرسل بالبريد.
- ولم يكن لدى العيادات وسيلة لمتابعة حالتها بنفسها، فصار كل تحديث مقاطعة.
- والموظفون والعملاء يحتاجون رؤية أشياء مختلفة تمامًا، وهو ما يعني قواعد صلاحيات لا شاشات فقط.
ما الذي بنيناه
منصة واحدة بوجهين فوق واجهة برمجية مشتركة بـ Node.js: بوابة يرسل فيها العميل حالاته ويتابعها، ولوحة تحكم ينقل فيها المعمل الحالات بين مراحلها.
وتحتفظ PostgreSQL بسجلات الحالات، لأن هذه بيانات علائقية بمتطلبات تكامل حقيقية — فالحالة تخص عميلًا بعينه، ولها مراحل، ويجب ألا تظهر لحساب خاطئ. وتُفرض الصلاحيات حسب الدور عبر JWT لا بإخفاء أزرار في الواجهة.
وتُرفع ملفات الحالات على AWS S3، فلا تعيش الصور والمسوحات داخل قاعدة البيانات ولا على جهاز واحد. ويُنشر النظام كله عبر Docker Compose خلف Nginx.
- بوابة عملاء لإرسال الحالات ومتابعة مراحلها
- لوحة تحكم لمسار العمل الداخلي في المعمل
- واجهة برمجية بـ Node.js وPostgreSQL مع صلاحيات حسب الدور عبر JWT
- تخزين ملفات الحالات وصورها ومسوحاتها على AWS S3
- النشر عبر Docker Compose وNginx
أين وصل
تعمل Xera Lab كنظام إنتاج خاص لعميلها. ولا يوجد رابط عام لعرضه، ولهذا تصف هذه الصفحة المعمارية بدل الواجهة.
من نفّذ العمل: صمّم معماريته وبناه عبدالله محمد، مؤسس ديزرت لونش.
تريد نظامًا يحل محل جدول إكسل؟
البوابات ولوحات التحكم والأدوار وإدارة الملفات — الأجزاء التي تجعل النظام الداخلي جديرًا بالثقة.