إنه نظام مراقبة شبكة ومراسلة فوري (Real-Time Network Monitoring & Messaging System) يعتمد على البنية المعمارية Client-Server (عميل-خادم). بمعنى آخر: هو تطبيق يتيح لعدة أجهزة (هواتف) الاتصال بخادم مركزي (Server)، وتبادل الرسائل والتنبيهات في الوقت الحقيقي، مع وجود لوحة تحكم إدارية تسمح للمسؤول بمراقبة كل شيء.✨ الميزات الرئيسية (Key Features):
1. الخادم (Backend - Java): إدارة متعددة العملاء: يستخدم Multithreading لخدمة عدة عملاء في نفس الوقت عبر TCP Sockets.
بروتوكول JSON: كل الرسائل والبيانات يتم تحويلها إلى صيغة JSON للقراءة والكتابة بسهولة بين الأجزاء.
تخزين آمن: يحفظ الرسائل في MySQL باستخدام JDBC. واجهة تحكم عبر سطر الأوامر (CMD): يمكن للمسؤول التحكم بالخادم عن طريق أوامر مثل: online-users (عرض المتصلين)، broadcast (بث رسالة للجميع)، kick (طرد مستخدم)، block (حظر مستخدم)، stop (إيقاف الخادم).
2. تطبيق الجوال (Mobile - Flutter):واجهة Dark UI حديثة: تصميم جذاب ومريح للعين. اتصال فوري: إرسال واستقبال الرسائل والتنبيهات لحظياً.
قائمة المتصلين: عرض جميع الأجهزة المتصلة بالخادم.
إعادة اتصال تلقائي (Auto Reconnection): إذا انقطع الاتصال بالخادم، يحاول التطبيق إعادة الاتصال تلقائياً بعد فترات زمنية متزايدة.
حالة الاتصال: تظهر بوضوح ما إذا كان الجهاز متصلاً أم لا.
3. لوحة التحكم الإدارية (Desktop - Flutter)
لوحة معلومات (Dashboard): تعرض إحصائيات حية مثل عدد المتصلين، عدد الرسائل، التنبيهات.
جدول العملاء (Clients Table): عرض الأجهزة المتصلة مع خيارات (Kick & Block) للتحكم.
سجلات المراقبة (Monitoring & Logs): عرض وتحليل الأحداث في النظام.
صفحة الإعدادات (Settings): لتغيير إعدادات الخادم كالمنفذ (Port).
⚙️ طريقة التنفيذ (Implementation Method):
هذا المشروع تم تنفيذه بطريقة معيارية (Modular) تسمح بتوسعه في المستقبل:
الربط (Communication Protocol):يعتمد الاتصال بين الأجزاء (جوال -> خادم -> سطح المكتب) على TCP Sockets.
يتم تبادل البيانات باستخدام نصوص JSON، حيث تحتوي كل رسالة على (النوع، المرسل، المحتوى). هذا يجعل النظام سهل القراءة والتصحيح.
الخادم (Server Logic):عند بدء الخادم، يقوم بفتح منفذ (Port 20197) ويبدأ بالاستماع للاتصالات. عند اتصال عميل جديد، يتم إنشاء ClientHandler جديد في Thread منفصل، مما يسمح بتعدد المستخدمين دون حجب الخادم.
يقرأ الخادم أول رسالة قادمة من العميل (Auth Message) للتحقق من اسم المستخدم، ثم ينشئ جلسة خاصة به.
3-تخزين البيانات:يتم ربط الخادم بقاعدة بيانات MySQL. عند استلام رسالة "CHAT"، يتم حفظها في الجدول messages باستخدام PreparedStatement (آمن من حقن SQL).
4-واجهات المستخدم:
تم بناء تطبيق الجوال ولوحة التحكم الإدارية باستخدام Flutter، مما يعني أن التصميم موحد وسلس، والكود سهل التعديل.