// Shared content model: 15 products, 4 families ("constellations"). // Used verbatim by the React preview and the Nuxt source. export const families = [ { id: "trade", fa: "تجارت و مالی", short: "مالی" }, { id: "data", fa: "داده و هوش", short: "داده" }, { id: "infra", fa: "زیرساخت", short: "زیرساخت" }, { id: "work", fa: "کار و ارتباط", short: "ارتباط" }, ]; export const products = [ { slug: "dinar", fa: "دینار", en: "Dinar", family: "trade", kind: "pay", year: 1396, users: "۱٫۲ میلیون", r: 0.74, line: "درگاه پرداخت و تسویهٔ خودکار برای فروشگاه‌های آنلاین.", value: "تسویه در کمتر از ۹۰ ثانیه" }, { slug: "daftar", fa: "دفتر", en: "Daftar", family: "trade", kind: "ledger", year: 1397, users: "۸۴ هزار", r: 0.63, line: "حسابداری ابری که سند را از تراکنش، خودش می‌نویسد.", value: "۷۰٪ سند کمتر با دست" }, { slug: "bazaar", fa: "بازار", en: "Bazaar", family: "trade", kind: "store", year: 1398, users: "۱۲ هزار فروشگاه", r: 0.79, line: "فروشگاه‌ساز برای برندهایی که نمی‌خواهند شبیه همه باشند.", value: "راه‌اندازی در یک بعدازظهر" }, { slug: "mozd", fa: "مزد", en: "Mozd", family: "trade", kind: "payroll", year: 1400, users: "۲۱۰ هزار", r: 0.58, line: "حقوق، بیمه و مالیات؛ در یک روز، بدون فایل اکسل.", value: "فیش حقوقی بی‌خطا، هر ماه" }, { slug: "zij", fa: "زیج", en: "Zij", family: "data", kind: "chart", year: 1397, users: "۹ هزار تیم", r: 0.81, line: "تحلیل محصول؛ رفتار کاربر را مثل جدول ستاره‌ها می‌خواند.", value: "پرسش به زبان فارسی، پاسخ با نمودار" }, { slug: "sanjeh", fa: "سنجه", en: "Sanjeh", family: "data", kind: "monitor", year: 1399, users: "۳٬۴۰۰ سرویس", r: 0.66, line: "پایش سرویس‌ها؛ پیش از آنکه کاربر چیزی حس کند.", value: "هشدار در ۱۲ ثانیه" }, { slug: "kavosh", fa: "کاوش", en: "Kavosh", family: "data", kind: "search", year: 1400, users: "۴۰۰ سازمان", r: 0.76, line: "جست‌وجوی سازمانی که املای فارسی را می‌فهمد.", value: "۴۰ میلیون سند در ۸۰ میلی‌ثانیه" }, { slug: "goya", fa: "گویا", en: "Goya", family: "data", kind: "wave", year: 1401, users: "۶ میلیون دقیقه/ماه", r: 0.6, line: "تبدیل گفتار فارسی به متن، با لهجه‌ها و اصطلاح‌ها.", value: "دقت ۹۶٪ روی گفتار طبیعی" }, { slug: "bandar", fa: "بندر", en: "Bandar", family: "infra", kind: "terminal", year: 1398, users: "۱۸ هزار استقرار/روز", r: 0.8, line: "سکوی استقرار؛ از کد تا سرور، با یک فرمان.", value: "استقرار بدون قطعی" }, { slug: "kelid", fa: "کلید", en: "Kelid", family: "infra", kind: "keys", year: 1399, users: "۳ میلیون هویت", r: 0.64, line: "هویت و ورود یکپارچه برای همهٔ سامانه‌های یک سازمان.", value: "یک ورود، همه‌جا" }, { slug: "anbar", fa: "انبار", en: "Anbar", family: "infra", kind: "storage", year: 1400, users: "۹ پتابایت", r: 0.74, line: "ذخیره‌سازی شیء، سازگار با S3 و میزبانی‌شده در ایران.", value: "دسترس‌پذیری ۹۹٫۹۹٪" }, { slug: "pol", fa: "پل", en: "Pol", family: "infra", kind: "api", year: 1401, users: "۲ میلیارد درخواست/ماه", r: 0.57, line: "دروازهٔ API؛ سرویس‌های قدیمی و جدید را به هم وصل می‌کند.", value: "تأخیر افزودهٔ زیر ۳ میلی‌ثانیه" }, { slug: "payam", fa: "پیام", en: "Payam", family: "work", kind: "chat", year: 1399, users: "۵۵۰ هزار", r: 0.82, line: "پیام‌رسان تیمی، با داده‌ای که از سازمان بیرون نمی‌رود.", value: "رمزنگاری سرتاسری" }, { slug: "nobat", fa: "نوبت", en: "Nobat", family: "work", kind: "calendar", year: 1400, users: "۲٫۸ میلیون نوبت/ماه", r: 0.67, line: "نوبت‌دهی آنلاین برای مطب، سالن و هر جایی که صف دارد.", value: "۴۰٪ غیبت کمتر" }, { slug: "masir", fa: "مسیر", en: "Masir", family: "work", kind: "map", year: 1402, users: "۹ هزار ناوگان", r: 0.75, line: "مسیریابی ناوگان پخش؛ کوتاه‌ترین راه، با ترافیک امروز.", value: "۱۸٪ سوخت کمتر" }, ]; // Step between stars on the rete. Star i sits i*STEP counter-clockwise from // the top: in an RTL reading the *next* product waits on the left and the // rete turns clockwise (left → top → right) to bring it under the rule. export const STEP = (24 * Math.PI) / 180; const FA = "۰۱۲۳۴۵۶۷۸۹"; export const fa = (v) => String(v).replace(/\d/g, (d) => FA[d]); export const pad = (n) => fa(String(n).padStart(2, "0"));