Files
diyaa.de/docs/REVIEW-2026-08-05.md
T

8.6 KiB

🔍 مراجعة: تشيك لست ChatGPT مقابل الواقع — 2026-08-05

الحالة: القرارات معتمدة (2026-08-05). انعكست على ملفات docs/. التنفيذ على الكود لسا لم يبدأ. المصدر المُراجَع: diyaa-website-clean-checklist-dropdown.md (من ChatGPT).

القرارات المعتمدة

  1. المخطط: الخيار A — Project موحّد + Melody منفصل، technologies/screenshots كـ String[]، تصنيف واحد-لواحد. → مهمة T-16.
  2. الاحصائيات: عدّادات داخلية أولاً؛ Umami مؤجّل. → T-13.
  3. التوثيق: إبقاء نظامنا الحالي (6 ملفات)، نوسّع عند الحاجة.
  4. التبنّيات الخضراء: كلها معتمدة (Impressum، حقول iOS، Honeypot/Rate-limit، تفاصيل المشغّل، فصل صفحات المواقع/التصاميم).
  5. إصلاح env: livefull + إضافة maintenance. → T-17.

الملفات المحدَّثة: ARCHITECTURE.md (مخطط + أقسام + مجلدات + أوضاع) · CHECKLIST.md · TODO.md (T-16/T-17 + تعديلات) · STACK.md · PROJECT-STATE.md.


(أدناه المراجعة الأصلية كما كُتبت — للمرجع)

الخلاصة

التشيك لست تبع ChatGPT منظّمة وشاملة ومفيدة، وفيها إضافات أحسن من ملفاتنا (Impressum، حقول iOS، فصل الصفحات، Honeypot/Rate-limit). بس فيها تعارضات حقيقية مع يلي انبنى فعلياً بالمشروع (T-01→T-05) ومع ملفات docs/. لو طبّقناها حرفياً رح نكسر شغل شغّال. أدناه التعارضات + التوصية لكل واحد.


🔴 تعارضات لازم قرار

1) بنية src/ — تجاهلها

ChatGPT يقترح src/app, src/features, src/styles, src/types, src/config. الواقع: المشروع مبني بالجذر (app/, components/, lib/, content/) ومشغّل. التوصية: تجاهل src/. الانتقال إليها = إعادة هيكلة كل الموجود بلا فائدة تقنية.

2) طبقة features/ — اختيارية، مؤجَّلة

ChatGPT يضيف layer features/ (projects, applications, categories, tracks, media, contact, settings). الواقع: غير موجود؛ المنطق بـ lib/ + app/. التوصية: 🟡 احتفظ بالنمط الحالي الآن. features/ مفيدة لو كبر المشروع كثير، بس إضافتها الحين تعقيد مبكّر.

3) مخطط قاعدة البيانات — أكبر تعارض ⚠️

ChatGPT المبني فعلياً (prisma/schema.prisma)
النموذج جدول موحّد Project + حقل type جداول منفصلة Work / App / Melody
التصنيفات Category + join project_categories Category (enum CategoryKind) علاقة مباشرة
التقنيات جدول Technology + join project_technologies غير موجود
الوسائط جدول Media منفصل (altText, mime, size, order) حقول inline (coverImage, images[], screenshots[])

تصميمان مختلفان جوهرياً. المبني حالياً يشتغل وما فيه داتا بعد (فالتغيير آمن). التوصية (وسط): وحّد Work + المواقع + التصاميم + التطبيقات بجدول Project واحد مع type (PORTFOLIO | APP | WEBSITE | DESIGN)، واحتفظ بـ Melody منفصل (طبيعته صوتية مختلفة). هيك تلغي تكرار الجداول وتكسب "أنواع قابلة للإضافة"، وتضيف Technology (للفلترة) وMedia (لـ alt text والترتيب) من ChatGPT. البديل الأخف: خلّي Work/App/Melody كما هي وزيد WEBSITE وDESIGN كقيم بـ CategoryKind — شغل أقل، مرونة أقل.

أي خيار = migration جديد يستبدل الحالي (آمن، لا داتا).

4) الاحصائيات — تعارض مباشر

  • ChatGPT: لا Umami. اعمل عدّادات داخلية بسيطة (زيارات صفحات، فتح مشاريع، تشغيل ألحان، نقر روابط، رسائل تواصل).
  • STACK.md تبعنا: Umami/Plausible self-hosted. التوصية: ابدأ بـ عدّادات داخلية بسيطة (اقتراح ChatGPT) للإطلاق الأول — أخف وأسرع وخصوصية أعلى. أضف Umami لاحقاً فقط لو احتجت تحليلات متقدمة. (نحدّث STACK.md بعد الموافقة.)

5) نظام التوثيق — نظامان لازم يصيروا واحد

ChatGPT يقترح 12 ملف: CURRENT_STATUS.md, ARCHITECTURE.md, DATABASE.md, DESIGN_SYSTEM.md, DEPLOYMENT.md, EMAIL.md, UPLOADS.md, SECURITY.md, CHANGELOG.md, IDEAS.md, TODO.md, ROADMAP.md. عندنا 6: PROJECT-STATE.md, STACK.md, ARCHITECTURE.md, CHECKLIST.md, TODO.md, IDEAS.md. تضارب أسماء: CURRENT_STATUS.mdPROJECT-STATE.md · ChatGPT يفصل CHANGELOG.md بينما نحن مدمجينه جوا PROJECT-STATE.md. التوصية: نظام واحد. أنصح نبقى على أسماءنا الحالية وننقل الملفات المتخصصة (DATABASE/EMAIL/UPLOADS/SECURITY/DEPLOYMENT) فقط لما نبنيها فعلاً — لا نعمل 12 ملف فاضي من الآن. (نضيف CHANGELOG.md منفصل إذا حبيت.)

6) Makefile — احتفظ بالحالي

Makefile تبع ChatGPT أبسط، بس:

  • يفقد حمايات موجودة: فحص .env، فحص COMPOSE_PROJECT_NAME، --env-file، اسم مشروع Traefik.
  • يضيف test وcheck: ... test بينما ما في test setupmake check رح يفشل. التوصية: لا تستبدل. احتفظ بالـ Makefile الحالي، وزيد عليه بس أوامر Prisma (db-migrate, db-studio, seed) لاحقاً.

7) قيم SITE_MODE — تخبيص فعلي بمشروعك 🐞

  • ChatGPT: full | maintenance | coming-soon.
  • الكود الفعلي (lib/site.ts): بس coming-soon | fullما في maintenance.
  • .env.example مكتوب فيه # coming-soon | live — كلمة live غلط، الكود بدّو full. التوصية: صلّح .env.example (livefull)، وأضف قيمة maintenance للكود (مطلوبة أصلاً بالتشيك لست، T-14).

🟢 نقاط ChatGPT أفضل — نتبنّاها

  • Impressum — صفحة إلزامية قانونياً بألمانيا (دومين .de + سيرفر STRATO). ملفاتنا ما ذكرتها. نضيفها لـ T-12.
  • حقول iOS للتطبيقات — App Store / TestFlight / رقم الإصدار / رابط الدعم / سياسة خصوصية لكل تطبيق. نضيفها لموديل التطبيق.
  • فصل الصفحات: أعمال / تطبيقات / مواقع / تصاميم / ألحان — تقسيم UI أوضح من دمجها.
  • نموذج التواصل: Honeypot + Rate limiting — أمان جيد ما ذكرناه. نضيفه لـ T-11.
  • مشغّل الألحان: تحكم مستوى الصوت + تقديم/تأخير + سماح/منع التحميل — تفاصيل نضيفها لـ T-10.
  • الوسائط: حذف الملف الفعلي عند حذف المحتوى + altText للصور — نضيفه لـ T-07.
  • SEO الأساسي بإعدادات الموقع + publishedAt / isFeatured / sortOrder على المشاريع — إضافات مفيدة.

📋 القرارات المطلوبة منك (قبل أي تعديل)

  1. المخطط: وسط موحّد (Project+Melody) / إبقاء الحالي (Work/App/Melody) + إضافة WEBSITE/DESIGN كتصنيفات / تبنّي مخطط ChatGPT الكامل؟
  2. الاحصائيات: عدّادات داخلية أولاً (توصيتي) / Umami من الآن؟
  3. التوثيق: إبقاء نظامنا (6 ملفات، نوسّع عند الحاجة) / تبنّي هيكل ChatGPT (12 ملف)؟
  4. موافقة على التبنّيات الخضراء (Impressum، حقول iOS، Honeypot، تفاصيل المشغّل، فصل الصفحات)؟

بعد موافقتك: أحدّث TODO.md / CHECKLIST.md / ARCHITECTURE.md / .env.example وفق القرارات، وأوثّق كل تغيير بالـ Changelog.