Skip to content

noone313/remoteDisk

Repository files navigation

remoteDisk

🧠 مشروع نظام إدارة مهام ومراسلات مع حضور وغياب باستخدام WebSocket و Redis

⚙️ مقدمة

هذا المشروع عبارة عن نظام متكامل لإدارة المهام والمراسلات داخل المكاتب، مع تتبع حضور وغياب الموظفين، وتكامل تام مع WebSocket لتحديثات الوقت الحقيقي، و Redis لتحسين الأداء باستخدام التخزين المؤقت (Caching) وتزامن الاتصالات.


📦 مكونات المشروع

👤 إدارة المستخدمين (User Management)

  • إنشاء مستخدم جديد مع التحقق من صحة البريد وكلمة المرور.
  • تسجيل الدخول باستخدام JWT وتخزين التوكن في كوكي آمن.
  • تعديل الملف الشخصي وكلمة المرور.
  • حذف الحساب أو مستخدم حسب الـ ID.
  • حماية تسجيل الدخول باستخدام rate limiting مع Redis.

✅ إدارة المهام (Tasks Management)

  • إنشاء وتحديث وحذف المهام.
  • ربط المهام بالمستخدمين والمكاتب.
  • إرسال إشعارات فورية عند إنشاء أو تعديل أو حذف المهام.
  • استخدام Redis لتخزين المهام مؤقتًا (cache) وتحسين الأداء.
  • فلترة المهام حسب المكتب، المستخدم، أو الحالة.

💬 نظام المراسلات (Messages)

  • إرسال الرسائل داخل المكاتب.
  • تعديل وحذف الرسائل من قبل مرسلها فقط.
  • إرسال إشعارات مباشرة عبر WebSocket للمكتب المعني.
  • دعم محتمل للكاش باستخدام Redis على غرار المهام.

⏰ نظام الحضور والغياب (Attendance)

  • تسجيل الحضور والانصراف.
  • ربط كل سجل حضور بمستخدم ومكتب.
  • إشعارات مباشرة عند تسجيل أو تعديل الحضور.
  • دعم محتمل للكاش أو الفلترة باليوم/المستخدم.

🔌 WebSocket (Socket.IO)

  • دعم الانضمام إلى غرف حسب معرف المستخدم أو المكتب.
  • إرسال الأحداث مثل: taskCreated, taskUpdated, messageDeleted, attendance:checkin.
  • استخدام Redis Adapter لدعم بيئة موزعة (Clustered Socket.IO).

🚀 Redis

  • كاش للمهام لتسريع الاستجابة وتقليل الضغط على قاعدة البيانات.
  • مزامنة Socket.IO عند استخدام عدة نسخ من الخادم.
  • تخزين بيانات الـ Rate Limit لتقليل محاولات الاختراق.

🔐 الأمان

  • تشفير كلمات المرور باستخدام bcrypt.
  • توليد JWT مع صلاحيات زمنية.
  • التحكم في محاولات تسجيل الدخول عبر express-rate-limit.
  • إرسال التوكنات عبر كوكي آمنة (HTTPOnly).

🛠️ التقنيات المستخدمة

التقنية الاستخدام
Node.js + Express إنشاء REST API
Sequelize ORM للتعامل مع PostgreSQL أو MySQL
Socket.IO WebSocket للتواصل الفوري
Redis تخزين مؤقت + مزامنة Socket.IO
JWT توثيق المستخدمين
bcrypt تشفير كلمات المرور
express-rate-limit حماية من الهجمات ومحاولات الدخول
dotenv تحميل متغيرات البيئة

🌟 ميزات المشروع

  • 🔄 تحديث فوري عبر WebSocket لكل الأحداث المهمة.
  • ⚡ أداء عالي باستخدام Redis ككاش.
  • 🔐 أمان عالي عبر JWT و rate limiting و bcrypt.
  • 📚 كود منظم وسهل الصيانة وقابل للتوسعة.
  • ✅ قابلية التوسيع لإضافة واجهات أو خصائص مستقبلية بسهولة.

💡 أفكار للتوسعة

  • إنشاء واجهة رسومية (Dashboard) باستخدام React أو Vue.
  • إضافة إشعارات بالبريد الإلكتروني أو SMS.
  • دعم صلاحيات متعددة (مدير، موظف، مشرف...).
  • تقارير وتحليلات عن المهام والحضور.
  • تخزين الملفات والمرفقات في المهام.

📌 الخلاصة

مشروع إدارة المهام والمراسلات مع الحضور والغياب هذا، يجمع بين الأداء والواقعية، بفضل استخدام تقنيات حديثة مثل Socket.IO و Redis، ويشكل نواة قوية لأي تطبيق يهدف لإدارة فرق العمل أو الموارد البشرية.


About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors