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

رویدادیار: از تعریف رویداد تا ارزیابی شهروندی، در یک جریان

سامانه‌ی اتوماسیون رویدادهای فرهنگی برای شهرداری‌ها و سازمان‌های فرهنگی: زنجیره‌ی تأیید چندمرحله‌ای، اطلس اماکن فرهنگی روی نقشه، ثبت‌نام و رزرو، گزارش میدانی ژئوفنس‌شده و نظرسنجی شهروندی، روی وب، موبایل و API.

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

برای شهرداری‌ها، سازمان‌های فرهنگی‌هنری و نهادهایی که در سال ده‌ها یا صدها رویداد فرهنگی برگزار می‌کنند و امروز آن را با اکسل، نامه‌ی اداری و گروه‌های پیام‌رسان اداره می‌کنند.

مسئله معمولاً یکی از این چهار است: تأییدی که معلوم نیست کجا مانده. محتوا تأیید شده، بودجه نه، و کسی نمی‌داند پرونده دست کیست؛ اماکنی که فهرست به‌روزی ندارند. ظرفیت، امکانات و کلاس‌های هر فرهنگسرا در یک فایل قدیمی؛ گزارشی از میدان که قابل استناد نیست. عکسی که معلوم نیست کجا و کِی گرفته شده؛ و ارزیابی‌ای که انجام نمی‌شود. چون جمع‌آوری نظر شهروند سخت‌تر از برگزاری خود رویداد است.

رویدادیار هر چهار را در یک سامانه حل می‌کند، و این یک محصول اجراشده است، نه یک طرح: نسخه‌ی مستقر آن رویدادهای فرهنگی 22 منطقه‌ی شهر تهران را اداره می‌کند.

چرخه‌ی حیات یک رویداد

  • 01 ، پیش‌نویس

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

  • 02 ، تأیید محتوا

    دبیرخانه‌ی فرهنگی محتوای برنامه را بررسی و تأیید می‌کند.

  • 03 ، تأیید بودجه

    واحد مالی رقم را تأیید یا با دلیل برمی‌گرداند.

  • 04 ، تأیید معاونت و ستاد

    مسیر تأیید سازمانی تا ستاد، با گیت‌چک‌لیست هر مرحله.

  • 05 ، ابلاغ و اجرا

    رویداد به مناطق ابلاغ می‌شود و اجرا شروع می‌شود؛ گزارش‌های میدانی از همان‌جا ثبت می‌شوند.

  • 06 ، ارزیابی و اختتام

    نظرسنجی شهروند و ارزیابی مجری، بعد اختتام رسمی پرونده.

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

هشت حوزه‌ی کاری روی یک بستر

  • مدیریت رویدادها

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

  • اطلس فرهنگی

    ثبت و مدیریت اماکن فرهنگی، فرهنگسرا، سرای محله، خانه‌ی قرآن، بوستان، با دسته‌بندی، تصاویر، امکانات، مختصات و نمایش روی نقشه، هرکدام با گردش تأیید منطقه‌ای.

  • خدمات اماکن

    کلاس‌های آموزشی، امکانات قابل رزرو (سالن، کتابخانه، کارگاه، مشاوره‌ی رایگان) و کانون‌ها؛ ثبت‌نام، رزرو و عضویت آنلاین با کلید فعال‌سازی برای هر مکان.

  • ارزیابی و نظرسنجی

    بانک سؤال، طرح‌ها و روش‌های ارزیابی، و نظرسنجی شهروندی با توکن یک‌بارمصرف، با تفکیک مخاطب شهروند و مجری.

  • گزارش‌های میدانی

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

  • تجربه‌ی شهروند

    مرور رویدادها و اماکن بدون نیاز به ورود، تقویم جلالی، «نزدیک من» با GPS، جشنواره‌ها و مسابقه‌ها و سفیران فرهنگی.

  • سازمان و جغرافیا

    سلسله‌مراتب جغرافیایی مناطق ← نواحی ← محلات، در کنار سلسله‌مراتب سازمانی؛ هر کاربر فقط دامنه‌ی خودش را می‌بیند.

  • دسترسی و حسابرسی

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

سه کلاینت، یک منبع حقیقت

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

معماری Clean Architecture با اصول دامنه‌محور است: هسته‌ی کسب‌وکار در مرکز و مستقل از فناوری، زیرساخت و ارائه در بیرونی‌ترین لایه. یعنی وقتی فردا یک کلاینت دیگر، کیوسک، پنل سازمان همکار، اپلیکیشن جدید، اضافه شود، قواعد کار دوباره نوشته نمی‌شوند.

تصمیم‌های مهندسی که در شرایط واقعی جواب می‌دهند

  • کار آفلاین در میدان

    گزارش در صف محلی می‌نشیند و با بازگشت شبکه خودش همگام می‌شود. سنجش دسترسی به سرور خودی تنظیم شده تا فیلترینگ، سامانه را «آفلاین» گزارش نکند، چیزی که اپ‌های ساخته‌شده با فرض اینترنت آزاد، در میدان از آن می‌شکنند.

  • اصالت گزارش میدانی

    عکس فقط در محدوده‌ی جغرافیایی رویداد و در پنجره‌ی زمانی آن ثبت می‌شود. گزارشی که از دفتر فرستاده شود، ثبت نمی‌شود.

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

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

  • مجوز مبتنی بر توانمندی

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

  • گیت خودکار طراحی

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

  • فارسی و راست‌به‌چپ واقعی

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

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

  • کلاینت وب. React با Vite و TypeScript، نقشه با Leaflet، رابط راست‌به‌چپ فارسی.
  • اپلیکیشن موبایل. React Native و Expo، با کار آفلاین و به‌روزرسانی درون‌برنامه‌ای.
  • API. ASP.NET Core روی .NET 10، REST نسخه‌دار، احراز هویت JWT، مجوز مبتنی بر توانمندی، چندمستأجری و رد حسابرسی.
  • هسته‌ی کسب‌وکار. موجودیت‌های دامنه‌محور، ماشین حالت، اعتبارسنجی با FluentValidation.
  • زیرساخت. Entity Framework Core، کارهای زمان‌بندی‌شده با Hangfire، ذخیره‌سازی شیءگرا برای تصاویر، لاگ متمرکز با Seq، و داده‌ی مکانی با NetTopologySuite.
  • داده و استقرار. SQL Server، Docker Compose، nginx، لینوکس. راه‌اندازی خودکار و افزایشی اسکیمای داده هنگام بالا آمدن سرویس.

در حال کار، برای 22 منطقه

رویدادیار برای شهرداری تهران ساخته و مستقر شد و رویدادهای فرهنگی 22 منطقه را روی یک سامانه می‌برد، سه کلاینت وب، موبایل و API روی یک هسته. کیس‌استادی رویدادیار شهرداری تهران مسئله، معماری و تصمیم‌های مهندسی‌اش را دارد. برای سازمانی که فرایندش شبیه رویداد نیست ولی همین گردش تأیید و گزارش میدانی را لازم دارد، نرم‌افزار سفارشی از همان هسته شروع می‌شود.

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

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

بله. سلسله‌مراتب جغرافیایی و سازمانی قابل تعریف است: می‌تواند 22 منطقه با نواحی و محلات باشد، یا یک شهرداری با چند واحد. ماژول‌هایی که لازم ندارید فعال نمی‌شوند و کلید فعال‌سازی ثبت‌نام و رزرو برای هر مکان جداگانه است.

گردش تأیید ما با این مراحل فرق دارد.

مراحل و نقش‌ها بر اساس ساختار سازمان شما تنظیم می‌شوند؛ آنچه ثابت است، اصل کار است: هر گذر یک مجوز می‌خواهد، هر برگشت یک دلیل ثبت‌شده دارد و همه‌چیز در رد حسابرسی می‌ماند. تطبیق گردش کار با ساختار سازمان، بخشی از راه‌اندازی است.

اطلاعات اماکن فرهنگی ما را چطور وارد می‌کنید؟

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

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

خیر. مرور رویدادها، اطلس اماکن و جشنواره‌ها بدون ورود در دسترس است؛ ورود فقط برای ثبت‌نام کلاس، رزرو سالن یا عضویت کانون لازم می‌شود.

اپلیکیشن روی گوگل‌پلی است؟

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

قیمت و زمان راه‌اندازی چقدر است؟

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

یک دمو با ساختار سازمان خودتان

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

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