يتبع Databayt بنية نمطية قائمة على الميزات مصممة للتوسع وإعادة الاستخدام وسهولة الصيانة. يدعم هيكلنا أنماط الخدمات المصغرة والواجهات الأمامية المصغرة.
Databayt/
├── public/ # الأصول الثابتة
├── src/ # الكود المصدري
│ ├── app/ # صفحات وتوجيه Next.js App Router
│ ├── components/ # المكونات القابلة لإعادة الاستخدام
│ ├── lib/ # الأدوات والتكوينات المشتركة
│ └── types/ # تعريفات TypeScript العامة
├── docs/ # التوثيق
├── .env.local # متغيرات البيئة
├── next.config.js # تكوين Next.js
├── package.json # التبعيات
├── tailwind.config.js # تكوين Tailwind CSS
└── tsconfig.json # تكوين TypeScriptsrc/)src/app/)src/app/
├── globals.css # الأنماط العامة
├── layout.tsx # التخطيط الجذري
├── page.tsx # الصفحة الرئيسية
├── loading.tsx # واجهة التحميل العامة
├── error.tsx # واجهة الخطأ العامة
├── not-found.tsx # صفحة 404
├── gallery/ # مسار الميزة: /gallery
│ ├── page.tsx # صفحة المعرض الرئيسية
│ ├── layout.tsx # تخطيط المعرض
│ └── [slug]/ # مسارات المعرض الديناميكية
└── dashboard/ # مسار الميزة: /dashboard
├── page.tsx # صفحة لوحة التحكم الرئيسية
└── analytics/ # مسار متداخل: /dashboard/analyticssrc/components/)بنية مكونات من ثلاث طبقات لأقصى قابلية لإعادة الاستخدام:
src/components/
├── ui/ # مكونات shadcn/ui
│ ├── button.tsx
│ ├── input.tsx
│ └── ...
├── atoms/ # مكونات ذرية قابلة لإعادة الاستخدام
│ ├── logo.tsx
│ ├── badge.tsx
│ └── spinner.tsx
├── templates/ # مكونات التخطيط والقوالب
│ ├── header.tsx
│ ├── footer.tsx
│ └── sidebar.tsx
└── gallery/ # مكونات خاصة بالميزة
├── constants.ts # ثوابت المعرض
├── types.ts # تعريفات أنواع المعرض
├── validation.ts # مخططات التحقق
├── actions.ts # إجراءات الخادم
├── use-gallery.tsx # خطافات React المخصصة
├── form.tsx # مكونات النماذج
└── card.tsx # مكون البطاقةكل مسار URL له دليل ميزة مقابل في كل من src/app/ و src/components/.
للمسار /gallery:
src/app/gallery/ – يحتوي مكونات صفحة Next.js ومنطق التوجيهsrc/components/gallery/ – يحتوي مكونات UI ومنطق خاص بالميزة| الملف | الغرض |
|---|---|
constants.ts | ثوابت الميزة، التكوينات، البيانات الثابتة |
types.ts | تعريفات أنواع TypeScript |
validation.ts | مخططات التحقق من النماذج |
actions.ts | إجراءات الخادم واستدعاءات API |
use-[feature].tsx | خطافات React المخصصة |
form.tsx | مكونات النماذج |
card.tsx | مكونات البطاقات/العناصر |
table.tsx | مكونات الجداول/القوائم |
content.tsx | مكونات عرض المحتوى |
src/components/ui/)npx shadcn-ui@latest add [component]src/components/atoms/)src/components/templates/)src/components/[feature]/)kebab-case.tsx (مثال: user-profile.tsx)use-feature-name.tsx (مثال: use-gallery.tsx)kebab-case.ts (مثال: gallery-types.ts)page.tsxlayout.tsxloading.tsxerror.tsxnot-found.tsxconstants.ts أو config.tsactions.tsvalidation.tsutils.tslib/ و components/atoms|templates/عند إضافة ميزة جديدة:
src/app/[feature]/src/components/[feature]/هذا الهيكل يضمن بقاء قاعدة كودنا منظمة وقابلة للتوسع وصديقة للمساهمين.
On This Page
هيكل الدلائلنظرة عامةالمبادئ الأساسيةهيكل جذر المشروعهيكل دليل المصدر (src/)دليل App (src/app/)دليل المكونات (src/components/)نمط دليل الميزةملفات الميزة القياسيةتعريفات طبقات المكوناتطبقة UI (src/components/ui/)طبقة Atoms (src/components/atoms/)طبقة Templates (src/components/templates/)طبقة الميزة (src/components/[feature]/)اصطلاحات تسمية الملفاتالمكوناتالصفحات (App Router)الأدواتأفضل الممارساتتنظيم المكوناتهيكل الملفاتإرشادات المساهمة