تفاصيل العمل

# 🔸 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 لتقليل حجم الملفات وتحسين سرعة التحميل