توثيق الموديولز
حقول البيانات
الكيانات، الحقول، الأنواع.
مكتمل
واجهة `Startup` (المعرَّفة في `core/models/startup.model.ts`) هي شكل الكيان القياسي. كل حقل يُربط بعنصر عرض، اتصال Cross-module، أو flag تحقّق تحريري.
حقول مطلوبة
- id · string
- معرّف مستقرّ. الصيغة: `stp-<short-name>`. مستخدم في Cross-module mentions و JSON-LD @id.
- slug · string
- slug مستقرّ في الـ URL. عادة يطابق اسم العلامة في kebab-case (مثل `paymob`، `vezeeta`).
- name · string
- اسم العلامة كما تستخدمها الشركة. عادة غير مترجَم (أسماء العلامات نادراً تُترجَم). مستخدم في كل مكان على الكروت + JSON-LD `name`.
- tagline · Bilingual
- `{ en: string; ar: string }`. عرض قيمة في سطر واحد. كلا اللغتين مطلوبة. ~80 حرف لكل locale.
- description · Bilingual
- فقرة 2-3 جمل تصف ما تفعله الشركة. تقود meta description وتُعرض في صفحة التفاصيل.
- sector · StartupSector
- واحد من: `fintech` | `healthtech` | `edtech` | `logistics` | `agritech` | `cleantech` | `saas` | `ai-ml` | `ecommerce` | `proptech` | `media`. يقود مطابقة التصنيف.
- country · StartupCountry
- ISO-2 لدولة المقر. واحد من: EG / SA / AE / JO / MA / TN / BH / KW / OM / LB / QA.
- stage · StartupStage
- واحد من: `pre-seed` | `seed` | `series-a` | `series-b` | `series-c` | `growth`. مطابقة المرحلة تقود ظهور أهلية الفرصة.
- foundedYear · number
- سنة من 4 أرقام. تظهر على الكرت + snapshot + JSON-LD `foundingDate`.
- founderIds · string[]
- قيم Founder.id. رابط بنيوي T1 — كل مؤسس في المصفوفة يظهر كـ "linked_founder" في إشارات Cross-module.
- updatedAt · string (ISO date)
- آخر تحديث مفيد. يقود الفرز الافتراضي للقائمة (تنازلياً). يُحدَّث تحريرياً عند تغيّر القطاع / المرحلة / المؤسّسين.
حقول اختيارية
- `name_ar?` — variant عربي للعلامة عند التأليف (معظم الشركات تستخدم نفس العلامة عبر الـ Locales).
- `hqCity?` — المدينة المحدّدة (مثل القاهرة، الرياض). اختيارية لأن بعض الشركات remote-first.
- `logoUrl?` — حين يغيب، الكرت يعرض اسم العلامة كنصّ داخل لوحة 16:9.
- `websiteUrl?` — يقود CTA Visit Website. يفتح في tab جديد بـ `rel="noopener external"`.
- `isFeatured?` — شريط برتقالي علوي على الكرت. مقتصرة على ~10% من الـ entries.
- `isVerified?` — شارة Verified على الكرت + chip على التفاصيل. دائماً true للـ entries الإنتاجية.
