Romars Chat هو تطبيق دردشة فوري (Real‑Time Chat App) مبني بـ MERN Stack، يوفّر تجربة محادثة حديثة بين المستخدمين مع واجهة داكنة أنيقة وتجربة استخدام قريبة من تطبيقات الشات الاحترافية.
أهم المميزات (Features)
تسجيل حساب وتسجيل دخول آمن
تسجيل/تسجيل دخول باستخدام البريد الإلكتروني وكلمة المرور.
التحقق من صحة البيانات في الفرونت والباك.
إشعارات Toast واضحة للأخطاء والنجاح (signup / login / logout / update profile).
مصادقة (Authentication) مبنية على JWT + Cookies
تخزين الـ JWT في httpOnly cookie لرفع مستوى الأمان.
checkAuth endpoint لفحص الجلسة عند كل Refresh والحفاظ على حالة تسجيل الدخول.
حماية للراوتات الحساسة في الـ frontend (Redirect إلى login إذا المستخدم غير مصدّق).
دردشة فورية (Real‑Time Chat) باستخدام Socket.io
فتح اتصال Socket بين العميل والسيرفر لكل مستخدم بعد تسجيل الدخول.
بث قائمة المستخدمين الأونلاين لحظيًا (getOnlineUsers).
إرسال الرسائل نصية/صورية في الزمن الحقيقي مع تحديث الواجهة فورًا بدون Refresh. التكنولوجيات المستخدمة (Tech Stack)
Frontend
React 19 + React Router 7
Vite
TailwindCSS 4 + DaisyUI
Zustand (state management)
Axios
Socket.io‑client
React Hot Toast
Backend
Node.js + Express 5
MongoDB + Mongoose
JWT + cookie‑parser
Socket.io (real‑time)
Cloudinary (رفع الصور)
bcryptjs (تشفير كلمات المرور)
dotenv, cors