Post by Tareq Al-Omari
مهندس برمجيات | Software Engineer
الحمد لله، من خلال رحلتنا في التعلم والتطبيق في خارطة الطريق للمهندس محمد أبو هدهود Dr. Mohammed Abu-Hadhoud ، استطعنا الانتقال من مرحلة الفهم النظري إلى التطبيق العملي الحقيقي، وذلك عبر بناء نظام متكامل لإدارة عيادة طبية بتقنيات مختلفة تماماً عن المقرر لم يكن الهدف مجرد تنفيذ مشروع، بل كان السعي لتجسيد مفهوم الهندسة البرمجية الواقعية، حيث يتحول التحليل والتصميم إلى نظام حي يخدم المستخدمين. فكرة النظام قمنا بتصميم وتطوير نظام متكامل يتكون من: لوحة تحكم أدمن (Admin Dashboard) لوحة تحكم لإدارة العيادة تطبيق مخصص للمرضى يهدف النظام إلى تسهيل إدارة العيادات وتحسين تجربة المرضى بشكل جذري. مميزات التطبيق من خلال التطبيق، أصبح بإمكان المريض: حجز موعد مع أي طبيب وفي أي تخصص بسهولة طلب استشارة طبية عن بُعد الدفع الإلكتروني والحجز بدل الانتظار الطويل استقبال تنبيهات دقيقة لمواعيد تناول الأدوية متابعة الخطة العلاجية الخاصة به هذا التحول الرقمي يختصر الوقت والجهد، ويعكس مفهوم الرعاية الصحية الذكية. بداية التصميم: الكيانات والعلاقات كانت البداية من أهم خطوة في أي نظام: تحليل البيانات وتصميم قاعدة البيانات (Database Design) أولاً: الكيانات (Entities) تم تصميم الكيانات الأساسية كالتالي: Persons: الكيان العام الذي يمثلأي شخص في النظام Patients: المرضى Doctors: الأطباء Appointments: المواعيد MedicalRecords: السجلات الطبية Prescriptions: الوصفات Payments: المدفوعات ثانياً: العلاقات (Relationships) تم بناء العلاقات بشكل احترافي يعكس الواقع: كل شخص يمكن أن يكون مريض أو طبيب (Supertype/Subtype) المريض يمكن أن يمتلك عدة مواعيد الطبيب يمكن أن يشرف على عدة مواعيد كل موعد مرتبط بسجل طبي ودفع السجل الطبي يمكن أن يحتوي على عدة وصفات قوة التصميم ما يميز هذا النظام: 1. استخدام Normalization تم تقليل التكرار في البيانات بشكل احترافي، مما يحسن الأداء ويمنع التعارض. 2. تطبيق مفهوم Supertype / Subtype ربط الكيان العام (Persons) بالكيانات الفرعية (Patients / Doctors) وهو من أفضل الممارسات في تصميم قواعد البيانات. 3. قابلية التوسع (Scalability) يمكن بسهولة إضافة: ممرضين (Nurses) موظفين إداريين (Admins) أقسام جديدة دون الحاجة لإعادة بناء النظام. ما تعلمناه من التجربة هذه التجربة لم تكن مجرد مشروع، بل كانت نقلة نوعية في الفهم: كيف أحول الفكرة الى متطلبات ثم مخطط إلى نظام حقيقي كيف أبني قاعدة بيانات قوية وقابلة للتوسع كيف أربط بين التحليل + التصميم + البرمجة كيف أفكر كمهندس برمجيات وليس كمبرمج فقط التقنيات المستخدمة: React + React Native+ Node.js + Express+ mongodb+ Twilind الخلاصة هذا النظام هو ثمرة جهد وتعلم وتطبيق عملي، يمثل خطوة قوية في رحلتنا في هندسة البرمجيات. والأجمل من ذلك، أنه قابل للتطوير ليصبح منتجًا حقيقيًا يخدم المجتمع، ويُحدث فرقًا في مجال الرعاية الصحية. Programming Advices #يوميات_مهندس م.طارق فضل العمري