Skip to content

المقدمة

FORGE هو مصنع تطبيقات — أداة سطر أوامر تُنشئ تطبيقات متكاملة جاهزة للإنتاج من أمر واحد. على عكس أدوات التهيئة التقليدية التي تُنتج هياكل أولية فارغة، يُنشئ FORGE تطبيقات كاملة الوظائف تتضمن المصادقة، والتحكم بالوصول المبني على الأدوار، ولوحات الإدارة، وإدارة المحتوى، ودعم تعدد اللغات، وإعدادات البنية التحتية — كل ذلك مترابط ومتصل وجاهز للتشغيل.

لماذا FORGE؟

بناء تطبيق حديث متكامل من الصفر يعني ربط عشرات المكتبات معاً، وكتابة منطق CRUD المتكرر، وإعداد المصادقة، وتهيئة البنية التحتية، وتكرار نفس الأنماط في كل مشروع. FORGE يزيل كل هذا بالكامل.

بأمر واحد، تحصل على تطبيق عامل كان سيستغرق أسابيع لبنائه:

bash
forge new --name=myapp

ينتج عن هذا تطبيق متكامل — ليس مجرد ملفات على القرص، بل نظام يعمل مع HTTPS وترحيل قاعدة البيانات وبيانات أولية وحساب مدير جاهز لتسجيل الدخول.

نصيحة — FORGE يُنشئ تطبيقات، وليس هياكل أولية

كل مشروع يتم إنشاؤه يتضمن مصادقة عاملة، وعمليات CRUD إدارية، وتوثيق واجهة برمجية، وإدارة محتوى، وقوائم تنقل، وسجل تدقيق، والمزيد. تبدأ ببناء منطق عملك التجاري من اليوم الأول.

حزمة التقنيات

يجمع FORGE بين أفضل التقنيات لكل طبقة من طبقات التطبيق:

الطبقةالتقنيةالسبب
الخلفيةRust + Axumآمنة للذاكرة، فائقة السرعة، غير متزامنة أولاً
الواجهة الأمامية (الويب)Next.js 14+ (App Router)عرض من الخادم، مكونات React الخادمية، TypeScript
الواجهة الأمامية (الإدارة)Next.js 14+ (App Router)تطبيق إدارة منفصل مع مكونات shadcn/ui
قاعدة البياناتPostgreSQL 15+ترجمات JSONB، بحث نصي كامل، موثوقة
التخزين المؤقتRedis 7+مخزن جلسات، تحديد معدل الطلبات، تخزين مؤقت
الوكيل العكسيCaddyHTTPS تلقائي، إعداد SSL بدون تهيئة
الحاوياتDocker + Docker Composeبيئة تطوير ونشر قابلة للتكرار
التنسيقTailwind CSS + shadcn/uiأسلوب الأدوات المساعدة مع مكونات سهلة الوصول
النماذجReact Hook Form + Zodتحقق آمن من الأنواع
الحالةTanStack Queryإدارة حالة الخادم مع التخزين المؤقت
الأيقوناتLucide Reactمجموعة أيقونات متسقة وقابلة للتقليم

الفلسفة الأساسية

التصميم بالعقود أولاً

بُني FORGE على معمارية العقود أولاً. كل وحدة خلفية أو واجهة أمامية أو مزود خدمة أو قالب تُنفّذ عقداً محدداً بوضوح (واجهة). هذا يعني:

  • الخلفيات قابلة للتبديل — Rust اليوم، وLaravel أو FastAPI غداً. عقد الواجهة البرمجية يبقى كما هو.
  • الواجهات الأمامية قابلة للتبديل — Next.js اليوم، وNuxt.js أو Angular غداً. عقود الصفحات والمكونات تبقى كما هي.
  • مزودو الخدمات قابلون للتوصيل — استبدل Twilio بـ Vonage، أو AWS S3 بـ MinIO، دون تغيير كود التطبيق.
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│    عقد       │     │    عقد       │     │    عقد       │
│   الخلفية    │     │ الواجهة      │     │ مزود الخدمة  │
├──────────────┤     ├──────────────┤     ├──────────────┤
│ • Rust/Axum  │     │ • Next.js    │     │ • Twilio     │
│ • Laravel    │     │ • Nuxt.js    │     │ • Vonage     │
│ • FastAPI    │     │ • Angular    │     │ • AWS S3     │
│ • Node.js    │     │ • Vanilla    │     │ • MinIO      │
└──────────────┘     └──────────────┘     └──────────────┘

قابلية التوسع بالقوالب

يتضمن القالب الأساسي كل ما تحتاجه لتطبيق قياسي: المستخدمون، والأدوار، والصلاحيات، والمصادقة، وإدارة المحتوى، وقوائم التنقل، ورفع الوسائط، والمزيد. القوالب الإضافية تُبنى فوقه لإضافة ميزات متخصصة:

  • إدارة العلاقات مع العملاء (CRM) — جهات الاتصال، الصفقات، خطوط الإنتاج، الأنشطة
  • مكتب المساعدة (Helpdesk) — التذاكر، اتفاقيات مستوى الخدمة، قاعدة المعرفة
  • الفوترة (Invoicing) — الفواتير، المدفوعات، إدارة الضرائب

كل قالب يضيف نماذج البيانات والترحيلات ونقاط الواجهة البرمجية وصفحات الإدارة وصفحات الويب الخاصة به — وكلها تتبع نفس العقود.

محرك قوالب Tera

يستخدم FORGE محرك القوالب Tera لتوليد الأكواد المصدرية. كل ملف في المشروع الناتج يُنشأ من قالب .tera، مع إمكانية الوصول إلى إعدادات مشروعك (الاسم، اللغات، طريقة المصادقة، مزودو الخدمات، والمزيد). هذا يجعل الكود المُنشأ نظيفاً وطبيعياً — دون شروط متناثرة أو مسارات كود غير مستخدمة.

ما الذي تحصل عليه

يتضمن تطبيق FORGE المُنشأ:

  • المصادقة — JWT مع رموز التحديث، وتسجيل الدخول، والتسجيل، وإعادة تعيين كلمة المرور، وOTP اختياري
  • التحكم بالوصول المبني على الأدوار — صلاحيات دقيقة، وتعيين الأدوار، وفرض عبر البرمجيات الوسيطة
  • لوحة الإدارة — إدارة المستخدمين، وإدارة الأدوار، ومحرر المحتوى، ومكتبة الوسائط، وسجلات التدقيق
  • تطبيق الويب — صفحات عامة، وملف المستخدم الشخصي، وتنقل ديناميكي، وتبديل اللغات
  • إدارة المحتوى — صفحات نصية غنية بمحتوى قابل للترجمة وتوجيه بالمسار
  • نظام القوائم — قوائم تنقل ديناميكية يمكن إدارتها من لوحة الإدارة
  • إدارة الوسائط — رفع ملفات متعدد الأشكال مع معالجة الصور
  • جداول البحث — جداول مفتاح-قيمة قابلة للتهيئة للقوائم المنسدلة والبيانات المرجعية
  • تعدد اللغات — ترجمات مبنية على JSONB، ودعم RTL، واكتشاف اللغة لكل طلب
  • توثيق الواجهة البرمجية — مواصفات OpenAPI مُنشأة تلقائياً مع Swagger UI وReDoc
  • البنية التحتية — Docker Compose، ووكيل Caddy العكسي، وشهادات SSL محلية
  • قاعدة البيانات — ترحيلات مُرقّمة، وبذور ببيانات افتراضية، وفهارس مناسبة

معلومة — كل ميزة متكاملة بالكامل

تدفقات المصادقة تتصل بنظام الأدوار والصلاحيات، الذي يتحكم بصفحات الإدارة، التي تدير المحتوى والقوائم، التي تُعرض في تطبيق الويب — مع دعم تعدد اللغات في كل طبقة. لا شيء يُترك كمسودة أو مهمة معلقة.

الخطوات التالية

هل أنت مستعد للبدء؟ اتبع الأدلة بالترتيب:

Released under the MIT License.