تطبيق شات (Chat Application) بروتوكول مخصص مبني بلغة Python، بيعتمد على TCP Sockets للتواصل المباشر بين المستخدمين في الوقت الفعلي (Real-time).
المكونات الأساسية:
1. Server (server.py)
سيرفر TCP شغال على بورت 5000، بيستقبل عدة عملاء (clients) في نفس الوقت باستخدام Multi-threading
نظام تسجيل دخول وتسجيل حسابات (Register/Login) مع تشفير كلمات المرور بـ SHA-256
إرسال رسائل نصية وصوتية (Voice messages) بين المستخدمين، مع دعم الصور الشخصية (Avatars)
قاعدة بيانات محلية بصيغة JSON لحفظ المستخدمين والرسائل
نظام Broadcast لتوصيل الرسائل والتحديثات لكل المستخدمين المتصلين في نفس اللحظة
2. Admin Server (admin_server.py)
سيرفر HTTP منفصل على بورت 5001 بيوفر API لوحة تحكم إدارية
بيقدم إحصائيات لحظية: عدد المستخدمين، عدد الرسائل، الرسائل اليومية، أكثر المستخدمين نشاطاً، توزيع أنواع الرسائل (نص/صوت)
3. Dashboard (dashboard.html)
واجهة ويب لعرض إحصائيات النظام بشكل مرئي (رسوم بيانية، جداول) بتتصل بالـ Admin API
4. Client (client.py)
تطبيق العميل اللي بيتصل بالسيرفر ويسمح للمستخدم بالتسجيل، تسجيل الدخول، وإرسال/استقبال الرسائل
التقنيات المستخدمة:
Python (Socket Programming, Multi-threading, HTTP Server) + JSON للتخزين + HTML/JS للوحة التحكم
المشروع بيوضح فهم عملي لـ Network Programming الأساسي (بناء بروتوكول تواصل من الصفر بدل استخدام مكتبة جاهزة)، إدارة الـ concurrency، وفصل الاهتمامات (server / admin API / dashboard / client) بشكل منظم.