SyncSaaS — دليل سير العمل الكامل

System architecture, data flow, and control guide

العمارة العامة

src/data/tools.json          ← المصدر الوحيد للبيانات
       │
       ▼
src/lib/tools.ts             ← قراءة JSON، فلترة، بحث
src/lib/blog.ts              ← توليد المقالات والمراجعات والمقارنات
src/lib/seo.ts               ← عناوين SEO، وصف، canonical
src/lib/schema.ts            ← JSON-LD structured data
       │
       ▼
src/pages/                   ← صفحات Astro (HTML ثابت)
  ├── index.astro             ← الصفحة الرئيسية
  ├── 404.astro
  ├── alternatives/index.astro  ← دليل الأدوات مع بحث/فلتر
  ├── alternatives/[slug].astro ← صفحة أداة فردية (75 صفحة)
  ├── category/[slug].astro    ← صفحة تصنيف (22 صفحة)
  ├── blog/index.astro         ← قائمة المقالات
  ├── blog/[slug].astro        ← مقالة مراجعة/مقارنة (267 صفحة)
  ├── about.astro, contact.astro, privacy.astro, terms.astro
       │
       ▼
dist/                        ← الإخراج النهائي (HTML ثابت)
  sitemap-index.xml           ← يتولد تلقائيًا
        

سير العمل اليومي

1 عدّل src/data/tools.json
2 شغّل npm run build
3 ارفع dist/ على السيرفر

إضافة أداة جديدة

# الخطوة المسار
1أضف إدخال JSONsrc/data/tools.json
2ضع اللوغو (اختياري)public/images/tools/[slug].svg
3ابنِ الموقعnpm run build
4تتولد تلقائيًا:صفحة أداة، مراجعة، مقارنات، تحديث sitemap

خريطة التحكم الكاملة

لوحة التحكم
/admin/ — إحصائيات، جدول الأدوات، فلترة، حالة المحتوى
tools.json بيانات
إضافة/تعديل أدوات، تصنيفات، ميزات، أسعار
blog.ts محتوى
توليد مقالات، مقدمات، pros/cons، FAQ، شخصيات حسب التصنيف
seo.ts SEO
اسم الموقع، رابط، عناوين، وصف لكل صفحة
schema.ts Structured Data
JSON-LD: Breadcrumb, Product, Article, FAQ, WebSite
BaseLayout.astro شكل
Header, footer, nav، الهيكل العام للموقع
blog/[slug].astro تخطيط
صفحة المقالة: hero logos, TOC, FAQ accordion
ToolCard.astro مكون
بطاقة الأداة في القوائم (اسم، لوغو، تصنيف)

الأوامر

npm run dev تشغيل سيرفر التطوير
npm run build بناء الموقع كاملًا (271+ صفحة)
npm run pipeline سكريبت البايبلاين الكامل
npm run preview معاينة الموقع المبني
npm run logos تحميل اللوغوهات تلقائيًا
npm run scrape تجميع بيانات (معطل حاليًا)
npm run workflow عرض هذا الدليل

هيكل tools.json

src/data/tools.json
{
  "tools": [
    {
      "slug": "notion",
      "name": "Notion",
      "description": "All-in-one workspace...",
      "category": "Project Management",
      "price_tier": "freemium",
      "features_list": [
        "Docs",
        "Databases",
        "Templates"
      ],
      "integrations": [
        "slack",
        "github"
      ],
      "alternatives_list": [
        "clickup",
        "coda"
      ],
      "official_url": "https://notion.so",
      "logo": "/images/tools/notion.svg"
    }
  ]
}
          
قواعد البيانات
  • slug: أحرف صغيرة، واصلات. فريد
  • alternatives_list: slugs موجودة في نفس الملف
  • integrations: اختياري، slugs موجودة
أنواع الأسعار
  • free: مجاني بالكامل
  • freemium: مجاني + مدفوع
  • paid: مدفوع بالكامل
  • enterprise: مخصص للمؤسسات

الموقع حاليًا

75
أداة
22
تصنيف
271
صفحة HTML
0 JS
Client Runtime