Files

6.3 KiB

التشيك لست الشاملة — diyaa.de

نظرة عامة على كل شي لازم يتبنى، مقسّم لمراحل. للمهام القابلة للتنفيذ حالاً شوف TODO.md. [ ] = ناقص · [~] = جزئي/موجود ناقص · [x] = جاهز


المرحلة 0 — الأساس (Foundation)

  • مشروع Next.js 14 + TS + Docker + Traefik + Makefile
  • i18n عربي/إنجليزي + ثيم فاتح/غامق
  • وضع coming-soon
  • تهيئة Tailwind CSS (نقل متغيّرات الثيم لإعداد Tailwind)
  • تهيئة shadcn/ui (components/ui/)
  • إعداد PostgreSQL بـ docker-compose + volume
  • إعداد Prisma + schema.prisma أولي + أول migration
  • lib/db.ts (Prisma client singleton)

المرحلة 1 — المصادقة ولوحة التحكم (Admin core)

  • Auth.js (Credentials) + جدول User + كلمة سر مشفّرة
  • هيكل app/admin/ محمي بالجلسة
  • Layout للوحة التحكم (سايدبار، عناصر مشتركة)
  • فورمات أساسية (React Hook Form + Zod) قابلة لإعادة الاستخدام

⚠️ قرار 2026-08-05 (الخيار A): الداتابيس صارت Project موحّد (PORTFOLIO/APP/WEBSITE/DESIGN) + Melody منفصل. المخطط القديم Work/App بينستبدل — شوف مهمة refactor بـ TODO.md.

المرحلة 1.5 — إصلاحات معلّقة (من مراجعة 2026-08-05)

  • 🐞 إصلاح .env.example: livefull + اعتماد قيمة maintenance
  • إعادة تشكيل schema.prisma للخيار A (Project موحّد + Melody) + migration جديد
  • مواءمة CRUD التصنيفات مع CategoryKind = PROJECT | MELODY

المرحلة 2 — التصنيفات (Categories)

  • موديل Category
  • CRUD تصنيفات من لوحة التحكم
  • مواءمة الأنواع للخيار A (PROJECT / MELODY)
  • تصنيفات المشاريع (شعارات، بروشورات، مواقع، متاجر، أدوات AI…)
  • تصنيفات الألحان (عربي، شرقي…)

المرحلة 3 — رفع الملفات (Media)

  • lib/upload.ts — رفع لـ volume على الـ VPS
  • معالجة صور بـ sharp (webp + أحجام)
  • رفع صوت للألحان
  • التحقق من نوع/حجم الملف + أسماء ملفات آمنة
  • حذف الملف الفعلي عند حذف المحتوى + altText للصور
  • مكوّن رفع قابل لإعادة الاستخدام (صور + صوت)

المرحلة 4 — المشاريع: أعمال + مواقع + تصاميم (Project)

  • موديل Project موحّد + migration
  • باك اند: إضافة/تعديل/حذف مشروع + اختيار type + تصنيف + صور + تقنيات + isFeatured/sortOrder
  • فرونت اند: صفحة الأعمال (شبكة + فلترة بالتصنيف) + تفاصيل [slug]
  • فرونت اند: صفحة المواقع (Next.js/WordPress) + سكرين شوتس
  • فرونت اند: صفحة التصاميم (شعارات/بروشورات/هويات)

المرحلة 5 — التطبيقات (Apps · type=APP)

  • باك اند: إضافة تطبيق Swift مع سكرين شوتس + حقول iOS
  • حقول: App Store / TestFlight / رقم الإصدار / رابط الدعم / سياسة خصوصية التطبيق
  • فرونت اند: قسم التطبيقات + معرض سكرين شوتس بصفحة التفاصيل

المرحلة 6 — الألحان (Melodies)

  • موديل Melody + migration
  • باك اند: إضافة لحن جديد + تصنيف + ملف صوت + غلاف + سماح/منع تحميل
  • فرونت اند: قسم الألحان + مشغّل صوت قابل لإعادة الاستخدام
  • المشغّل: تشغيل/إيقاف + تقديم/تأخير + مستوى صوت + مدة + تحميل اختياري
  • تصنيفات الألحان (عربي/شرقي) بالفلترة

المرحلة 7 — الإيميلات و SMTP

  • lib/email.ts — Nodemailer + إعداد SMTP
  • قوالب React Email (تأكيد تواصل، تنبيه للمالك) + قالب نصي بديل
  • ربط نموذج التواصل → حفظ بالداتابيس + إرسال إيميل
  • Honeypot + Rate limiting لنموذج التواصل
  • متغيّرات SMTP بـ .env.example

المرحلة 8 — الصفحات الرسمية

  • سياسة الخصوصية (ar/en)
  • شروط الاستخدام (ar/en)
  • Impressum (إلزامي قانونياً بألمانيا — دومين .de)
  • روابط الصفحات بالـ footer

المرحلة 9 — الاحصائيات (Analytics) — عدّادات داخلية أولاً

  • عدّادات داخلية بسيطة: زيارات الصفحات، فتح المشاريع، تشغيل الألحان، نقر روابط المشاريع، عدد رسائل التواصل
  • لوحة احصائيات مصغّرة داخل الأدمن
  • (لاحقاً فقط لو لزم) Umami self-hosted للتحليلات المتقدمة

المرحلة 10 — coming-soon و الصيانة

  • وضع coming-soon أساسي
  • وضع صيانة منفصل (رسالة صيانة + رجوع للأدمن)
  • تحكّم بالأوضاع من env بشكل موثّق

المرحلة 11 — البنية التحتية والتشغيل

  • تحديث Makefile: db-up, migrate, seed, studio, أوامر لوكال + سيرفر
  • docker-compose: خدمة postgres + volume البيانات
  • تطبيق migrations تلقائياً عند النشر
  • نسخ احتياطي للداتابيس (backup) موثّق

عابرة لكل المراحل (Cross-cutting)

  • كل شي مكوّنات قابلة لإعادة الاستخدام
  • كل المكتبات محليّة (بدون CDN وقت التشغيل)
  • الفرونت اند مطابق لمعايير Tailwind + shadcn
  • تحديث PROJECT-STATE.md بعد كل خطوة كبيرة
  • نقل المهام المنجزة من TODO.md لقسم Ready