6.3 KiB
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:live→full+ اعتماد قيمة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