# 🔸 YASHBLOG
YASHBLOG هي **منصة تدوين حديثة ومتكاملة (Full-Stack)**، توفر نظام مصادقة آمن، ومحرر نصوص متقدم، وتفاعلات لحظية، بالإضافة إلى واجهة مستخدم جميلة ومتجاوبة.
المشروع مقسّم إلى مجلدين رئيسيين: واجهة أمامية مبنية باستخدام **Next.js 15** و**React 19**، وواجهة خلفية مبنية باستخدام **Express.js** و**MongoDB**.
## 💡 المميزات
### نظام المستخدمين والمصادقة
* تسجيل وإنشاء حسابات بشكل آمن
* حماية الصفحات والمسارات باستخدام Middleware
* إدارة الملف الشخصي مع دعم الصور الشخصية
* إمكانية متابعة المستخدمين وإلغاء المتابعة
### إدارة المقالات
* محرر نصوص غني باستخدام Tiptap
* إنشاء وتعديل وحذف المقالات
* روابط تعتمد على Slug لتحسين الظهور في محركات البحث
* دعم التصنيفات والوسوم
* إمكانية حفظ المقالات كمسودة أو نشرها
### المميزات التفاعلية
* الإعجاب وإلغاء الإعجاب بالمقالات باستخدام Optimistic Updates لتحسين تجربة المستخدم
* نظام تعليقات يدعم الردود المتداخلة
* تتبع عدد المشاهدات في الوقت الفعلي
* إمكانية مشاركة المقالات
### واجهة المستخدم
* تصميم متجاوب يعمل على مختلف الأجهزة
* حركات وانتقالات سلسة
* دعم الوضع الفاتح والداكن
* إمكانيات البحث والتصفية
* حالات تحميل ومعالجة الأخطاء بشكل واضح
### الأداء وتحسين محركات البحث SEO
* استخدام Server-Side Rendering عبر Next.js
* تحسين الصور والملفات المستخدمة في الموقع
* إنشاء فهارس لقاعدة البيانات لتسريع الاستعلامات
* روابط وبيانات وصفية محسّنة لمحركات البحث
### المميزات الاجتماعية
* ملفات شخصية للمستخدمين تتضمن نبذة وروابط حساباتهم الاجتماعية
* إمكانية حفظ المقالات في المفضلة
* نظام إشعارات للمستخدمين
* الاشتراك عبر البريد الإلكتروني
### إدارة المحتوى
* بحث متقدم مع خيارات تصفية متعددة
* أدوات لإدارة ومراجعة المحتوى
* لوحة تحليلات لمتابعة الأداء
* إنشاء RSS Feed للمحتوى
## 🔒 ميزات الأمان
* **تحديد معدل الطلبات Rate Limiting:** للحماية من هجمات التخمين والمحاولات المتكررة
* **التحقق من المدخلات Input Validation:** التحقق من جميع البيانات المدخلة قبل معالجتها
* **الحماية من XSS:** تنظيف المحتوى واستخدام ترويسات أمان مناسبة
* **الحماية من CSRF:** باستخدام إعدادات SameSite للكوكيز
* **الحماية من حقن الاستعلامات:** باستخدام MongoDB وMongoose ODM
* **حماية كلمات المرور:** تشفير كلمات المرور باستخدام bcryptjs مع Salt Rounds
* **ترويسات أمان:** استخدام Content Security Policy وغيرها من الترويسات الأمنية
---
## 📈 تحسينات الأداء
* **Database Indexing:** إنشاء فهارس مدروسة لتسريع استعلامات قاعدة البيانات
* **Image Optimization:** الاستفادة من تحسين الصور التلقائي في Next.js
* **Code Splitting:** تقسيم الكود تلقائيًا باستخدام Next.js لتحسين سرعة تحميل الصفحات
* **Caching:** استخدام استراتيجيات تخزين مؤقت مناسبة مع HTTP-only Cookies
* **Bundle Optimization:** استخدام Tree Shaking وMinification لتقليل حجم الملفات وتحسين سرعة التحميل