نرم‌افزارهای ایده‌پو

سامانه مدیریت خبرگزاری: یک تحریریه‌ی کامل، از پیش‌نویس تا مخاطب

گردش کار تحریریه با کنترل نقش‌محور، میز تصویر و ویدیو، امور خبرنگاران و کارت خبرنگاری، توزیع چندکاناله و یک سایت خبری سریع و سئوشده — فارسی، با تقویم جلالی و ساعت تحریریه‌ی تهران.

این سامانه برای چه کسی است

برای خبرگزاری‌ها، پایگاه‌های خبری و روابط‌عمومی‌هایی که هر روز چند ده خبر تولید می‌کنند و به چیزی بیش از یک وردپرس با چند افزونه نیاز دارند: تحریریه‌ای با چند سرویس و چند نقش، عکس و ویدیویی که باید مدیریت شود، خبرنگارانی که باید پرونده و کارت داشته باشند، و انتشاری که باید هم‌زمان روی سایت، تلگرام، واتس‌اپ، RSS و ایمیل برود.

این یک محصول آماده است، نه یک پروژه‌ی از صفر: 16 ماژول مستقل، 293 نقطه‌ی پایانی، 135,000 خط کد و 1,120 تست خودکار که پیش از شما نوشته و آزموده شده‌اند. آنچه برای شما انجام می‌شود، راه‌اندازی، انتقال آرشیو، پوسته‌ی سایت عمومی و آموزش تحریریه است.

گردش کار تحریریه: هر خبر یک مسیر روشن دارد

  • 01 — پیش‌نویس

    خبرنگار می‌نویسد؛ ذخیره‌ی خودکار با نسخه‌ی پشتیبان محلی، تا قطعی اینترنت متن نیم‌ساعت کار را نبرد.

  • 02 — ارسال‌شده

    خبر به صف بررسی سرویس می‌رود و از میز خبرنگار خارج می‌شود.

  • 03 — در حال بررسی

    دبیر سرویس آن را برمی‌دارد و متن قفل می‌شود؛ دو نفر هم‌زمان روی یک خبر کار نمی‌کنند.

  • 04 — تأییدشده

    آماده‌ی انتشار، با ثبت اینکه چه کسی و کِی تأیید کرده است.

  • 05 — زمان‌بندی‌شده

    انتشار در ساعت مشخص، به وقت تحریریه‌ی تهران.

  • 06 — منتشرشده

    هم‌زمان روی سایت و کانال‌های توزیع.

مسیرهای فرعی هم تعریف‌شده‌اند و همه‌شان ردپا می‌گذارند: نیازمند اصلاح با دلیل ثبت‌شده برای نویسنده، ردشده با دلیل الزامی، بازپس‌گیری، بازگشت به پیش‌نویس، لغو انتشار و بایگانی و بازگردانی.

نکته‌ی مهم این است که وضعیت‌ها در دامنه‌ی نرم‌افزار تعریف شده‌اند، نه در رابط کاربری. یعنی هیچ‌کس نمی‌تواند با یک آدرس مستقیم یا یک دکمه‌ی فراموش‌شده مرحله‌ای را دور بزند؛ اگر مجوزش را ندارید، خبر جلو نمی‌رود. 16 نقش سازمانی — از مدیر کل و سردبیر تا دبیر سرویس، خبرنگار، عکاس و کارشناس سئو — و مجوزها در سه سطح دامنه: «فقط خودم»، «میز من»، «همه».

شانزده ماژول، یک استقرار

  • امور خبرنگاران

    پرونده‌ی خبرنگار، دوره‌های همکاری، تکالیف، کارت خبرنگاری و مدارک محرمانه. بزرگ‌ترین ماژول سامانه.

  • تحریریه

    محتوا، گردش کار، سرویس و دسته‌بندی، منابع خبر و اخبار مرتبط.

  • گزارش تصویری

    بارگذاری دسته‌ای ازسرگیری‌پذیر، چینش، کیوریشن و انتشار گالری.

  • انتشار و سئو

    چیدمان صفحه‌ی نخست، نامک فارسی، متای هر خبر و ریدایرکت خودکار.

  • توزیع

    ارسال به کانال‌ها با صف خروجی، تلاش مجدد و پیگیری تحویل.

  • رسانه و واترمارک

    کتابخانه‌ی رسانه، حقوق استفاده، دسترسی امضاشده و پروفایل‌های نشان‌گذاری.

  • جست‌وجو

    نمایه‌ی تمام‌متن آگاه به فارسی، آرشیو جلالی و بازیابی محتوای حذف‌شده.

  • بازرگانی

    مشتریان، سفارش‌ها، رپرتاژ آگهی و پیگیری مالی.

  • مدیریت سامانه

    38 تنظیم در 11 دسته، گزارش کامل رخدادها و مدیریت نشست‌ها.

هر ماژول دامنه، لایه‌ی کاربرد و زیرساخت خودش را دارد و فقط از راه قرارداد با بقیه حرف می‌زند: انضباط مرزهای میکروسرویس، با سادگی استقرار یکپارچه. یک لایه‌ی تست معماری این مرزها را در زمان ساخت بررسی می‌کند — یعنی قوانین طراحی مستندات نیستند، بخشی از بیلدند و شکستنشان بیلد را قرمز می‌کند.

آنچه یک تحریریه هر روز لازم دارد

  • نوشتن و ویرایش

    ویرایشگر حرفه‌ای با تیتر، جدول، نقل‌قول و پیوند؛ درج تصویر با کشیدن یا جای‌گذاری با شرح و متن جایگزین درجا؛ جاسازی ویدیوی آپارات و یوتیوب؛ نیم‌فاصله با میان‌بر؛ و تشخیص ویرایش هم‌زمان تا ذخیره‌ی شما کار همکار را پاک نکند.

  • سازمان‌دهی و انتشار

    هشت نوع محتوا از خبر و گزارش تا گفت‌وگو، پرونده و خبر فوری؛ سرویس، دسته و برچسب درختی؛ زمان‌بندی؛ چیدمان صفحه‌ی نخست با بلوک‌های سنجاق‌شونده و پیش‌نمایش.

  • تصویر و ویدیو

    بارگذاری دسته‌ای که پس از قطعی از همان بایت ادامه می‌دهد، ترتیب خودکار بر اساس زمان عکاسی از EXIF، تشخیص تصویر تکراری با هش ادراکی، شرح گروهی، و رونوشت گفتار ویدیو برای جست‌وجو و دسترس‌پذیری.

  • خبرنگاران

    پرونده با سوابق و تخصص، درخواست خبرنگاری آنلاین با بررسی چندمرحله‌ای، صدور و تمدید و ابطال کارت خبرنگاری با استعلام عمومی، و هشدار پیش از انقضای دوره‌ی همکاری.

  • توزیع و مخاطب

    پنج کانال — تلگرام، واتس‌اپ، وب، خوراک RSS و ایمیل — با صف خروجی و تلاش مجدد؛ مدیریت نظرات با تأیید و محدودیت نرخ؛ خوراک، نقشه‌ی سایت و robots خودکار.

  • نظارت

    گزارش رخدادها: هر تغییر، هر تصمیم و هر تلاش ردشده ثبت می‌شود. وقتی کسی می‌پرسد «چه کسی این خبر را برداشت»، جواب هست.

فارسی، نه ترجمه‌شده

بومی‌سازی این‌جا یک لایه‌ی روکش روی یک محصول خارجی نیست؛ در دل معماری است.

  • تقویم جلالی سرتاسری. هر تاریخ — از انتخابگر زمان‌بندی تا آرشیو عمومی و گزارش رخدادها — جلالی است و ارقام همه‌جا فارسی. تبدیل در یک نقطه انجام می‌شود، نه در بیست جا با بیست نتیجه.
  • ساعت تحریریه. زمان در پایگاه داده UTC ذخیره و همه‌جا با ساعت تهران نمایش داده می‌شود؛ خبر ساعت 00:30 برای دبیری که در سفر است یک روز عقب‌تر نشان داده نمی‌شود.
  • جست‌وجوی آگاه به فارسی. نمایه روی تیتر، لید و متن، با یکسان‌سازی «ی/ک»، ارقام و نیم‌فاصله — «مي‌شود» و «می‌شود» یک چیز پیدا می‌کنند.
  • راست‌به‌چپ واقعی. چیدمان با ویژگی‌های منطقی CSS ساخته شده، نه چپ و راست ثابت؛ بلوک‌های لاتین داخل متن فارسی جزیره‌ی جداگانه‌اند و نشانی‌ها به‌هم نمی‌ریزند.
  • نامک فارسی. نشانی خبر از تیتر فارسی ساخته می‌شود بدون آوانویسی، و تغییرش ریدایرکت خودکار می‌سازد — پیوندی که جای دیگری منتشر شده، نمی‌شکند.

پشته‌ی فناوری

سه برنامه و یک قرارداد: یک API واحد که هم پنل مدیریت و هم سایت عمومی از آن تغذیه می‌شوند، با تایپ‌های تولیدشده از همان قرارداد تا هیچ‌کدام از دیگری جلو نیفتد.

  • بک‌اند — .NET 10 با Minimal API، الگوی CQRS، Entity Framework Core و PostgreSQL. 84 پروژه، 1,029 فایل، 34 مایگریشن، 89,515 خط.
  • پنل مدیریت — React 19 با Vite، Tailwind، TanStack Query، Radix UI، ویرایشگر TipTap و اعتبارسنجی Zod. 248 فایل، 36 مسیر، 33,465 خط.
  • سایت عمومی — Next.js 15 با رندر سمت سرور و داده‌ی ساخت‌یافته‌ی JSON-LD، برای اینکه خبر شما در گوگل و در نمایش خبرها درست دیده شود. 79 فایل، 17 صفحه.
  • استقرار— Docker Compose با مهاجرت خودکار پایگاه داده و بررسی سلامت.

آزموده، نه ادعاشده

824 تست واحد، 127 تست معماری، 13 تست یکپارچگی، 8 تست پذیرش سرتاسری و 148 تست سمت کاربر. سه چیز دیگر هم در تعریف «تمام شد» این محصول بوده است: قابلیتی که هنوز زیرساختش آماده نیست به‌جای خطای مبهم پاسخ روشن «هنوز فعال نشده» می‌دهد؛ هیچ شمارنده‌ای عدد ساختگی نشان نمی‌دهد؛ و تضاد رنگ‌ها با محاسبه‌ی واقعی WCAG در هر دو پوسته‌ی روشن و تیره در تست‌ها قفل شده است.

طراحی سایت خبری: چرا وردپرس برای خبرگزاری کم می‌آورد

برای یک وبلاگ خبری وردپرس کافی است. تحریریه‌ای با ده خبرنگار، دبیر و سردبیر، جای دیگری می‌شکند:

  • گردش کار: پیش‌نویس → دبیر → سردبیر → انتشار، با برگشت و یادداشت. وردپرس دو وضعیت دارد: پیش‌نویس و منتشرشده.
  • میز تصویر و ویدیو: آرشیو رسانه با حق نشر، منبع و ویرایشگر مسئول — نه یک کتابخانه‌ی رسانه‌ی تخت.
  • امور خبرنگاران: کارت خبرنگاری، مأموریت، حق‌التحریر. در وردپرس وجود ندارد.
  • سرعت زیر بار خبر فوری: صفحه‌ی خبر باید در ثانیه‌ی اول باز شود وقتی ده هزار نفر هم‌زمان می‌آیند؛ کش وردپرس با افزونه، شکننده است.

صنایع نو و راه شلمچه روی همین سامانه منتشر می‌شوند. مقاله‌ی سامانه خبرگزاری در برابر وردپرس: کجا وردپرس کم می‌آورد مقایسه را با جزئیات باز می‌کند.

پرسش‌های متداول

آرشیو خبرهای قبلی ما منتقل می‌شود؟

بله. ماژول ورود و خروج داده برای همین هست: محتوای قدیمی، خبرنگاران، رسانه و تقسیم‌بندی‌ها منتقل می‌شوند و برای نشانی‌های قبلی ریدایرکت ساخته می‌شود تا رتبه‌ی گوگل و پیوندهای منتشرشده از دست نرود. حجم و ساختار آرشیو شما زمان کار را تعیین می‌کند.

چند کاربر و چند نقش می‌توانیم داشته باشیم؟

سامانه 16 نقش سازمانی از پیش تعریف‌شده دارد و مجوزها در سه سطح «خودم / میز من / همه» تنظیم می‌شوند. محدودیتی روی تعداد کاربر نیست و قیمت هم بر اساس تعداد کاربر تغییر نمی‌کند.

روی سرور خودمان نصب می‌شود؟

بله. استقرار با Docker Compose است و هر دو گزینه ارائه می‌شود: روی زیرساخت خود سازمان، یا روی زیرساخت ما با پشتیبان‌گیری و به‌روزرسانی به عهده‌ی ما.

خبر هم‌زمان روی تلگرام و واتس‌اپ می‌رود؟

بله. ماژول توزیع پنج کانال دارد — تلگرام، واتس‌اپ، وب، خوراک RSS و ایمیل — با صف خروجی، تلاش مجدد در صورت خطا و پیگیری تحویل. اگر کانالی نیاز به تصمیم انسان داشته باشد، صف متوقف می‌شود و منتظر می‌ماند.

کارت خبرنگاری هم صادر می‌کند؟

بله. صدور، تمدید و ابطال کارت خبرنگاری با استعلام عمومی، به‌علاوه‌ی درخواست خبرنگاری آنلاین با بررسی چندمرحله‌ای و نگهداری مدارک محرمانه.

قیمت چقدر است؟

راه‌اندازی از 250 میلیون تومان و پشتیبانی سالانه 20٪ مبلغ راه‌اندازی. قیمت نهایی بعد از یک جلسه‌ی دمو و روشن‌شدن حجم آرشیو، تعداد کاربر و کانال‌های توزیع اعلام می‌شود.

یک دمو، با آرشیو خودتان

در جلسه‌ی دمو با نمونه‌ای از خبرهای خودتان کار می‌کنیم تا ببینید گردش کار روی محتوای واقعی شما چه شکلی است.

نام رسانه، تعداد خبر روزانه و تعداد کاربر تحریریه — همین سه پاسخ برای تنظیم دمو کافی است.