یک اپلیکیشن اندرویدی/وباپ واکنشگرا و موبایلاول با نام «هلال احمر» بساز؛ زبان کامل فارسی و چیدمان RTL در همهجا باشد. از تصویر مرجع ۱۲ صفحهای پیوستشده بهعنوان مرجع بصری استفاده کن و طراحی را تا حد ممکن نزدیک نگه دار: رنگهای اصلی قرمز و سفید با طیفهای قرمز هلال احمر، لوگوی هلال احمر در هدر و صفحههای مرتبط، تایپوگرافی فارسی خوانا، کارتهای سفید با گوشههای نرم، حاشیهها و نوارهای موجدار قرمز، آیکونهای خطی، دکمههای قرمز پررنگ، ظاهر رسمی، تمیز، قابلاعتماد و مناسب سازمان جوانان. هیچ نام روستا یا شعبه محلی نمایش نده. محدودیت فنی مهم: این نسخه باید کاملاً روی خود دستگاه کار کند و نباید وانمود کند که SMS واقعی، دیتابیس سروری، اعلان آنلاین یا احراز هویت ابری انجام شده است. برای ورود، یک حالت آفلاین/دمو با توضیح شفاف داخل برنامه بساز؛ صفحه شماره موبایل و صفحه کد تأیید وجود داشته باشد، اما کد تأیید فقط بهعنوان حالت نمایشی محلی با برچسب «حالت آزمایشی؛ برای SMS واقعی نیاز به اتصال سرویس SMS دارد» عمل کند. هیچ کلید مخفی، اطلاعات حساس یا اتصال جعلی به سرویس خارجی در کد قرار نده. تمام دادهها با localStorage یا IndexedDB روی دستگاه ذخیره شوند و پس از بستن و بازکردن برنامه باقی بمانند. در صفحه تنظیمات، بخش «اتصالهای موردنیاز برای نسخه عملیاتی» داشته باش که روشن توضیح دهد SMS واقعی، بکاند، دیتابیس مشترک، اعلانها و نقشهای امن سروری نیازمند پیکربندی خارجی هستند. ۱۲ صفحه و جریان اصلی را پیادهسازی کن: ۱) صفحه خوشآمدگویی با لوگو و عنوان «هلال احمر» و دکمه ورود/ثبتنام. ۲) ورود با شماره موبایل، اعتبارسنجی شماره و پیام خطای دوستانه. ۳) ورود کد تأیید با چند خانه کد، شمارش معکوس نمایشی و برچسب واضح حالت آزمایشی. ۴) فرم ثبت اطلاعات شخصی شامل نام و نام خانوادگی، نام پدر، کد ملی، تاریخ تولد با نمایش تاریخ فارسی، شماره موبایل، عکس پروفایل، اطلاعات عضویت و وضعیت عضویت؛ اعتبارسنجی و امکان ویرایش فیلدهای مجاز. ۵) داشبورد اصلی با خوشآمدگویی، آمار فعالیتها و گواهیها، میانبرهای «ثبت فعالیت»، «سوابق فعالیت»، «درخواست گواهی» و «پروفایل»، و نوار پیمایش پایین. ۶) صفحه ثبت فعالیت با عنوان، توضیحات، تاریخ، مکان، دستهبندی و انتخاب اعضای شرکتکننده. این صفحه و کنترلهای ویرایش/حذف فقط در حالت مدیر قابل مشاهده باشد. ۷) صفحه سوابق فعالیت با تبها/فیلترها برای همه، آموزش، امداد و سایر دستهها، کارتهای فعالیت با تاریخ فارسی، وضعیت و جزئیات؛ عضو عادی فقط فعالیتهای منتشرشده و سابقه خودش را ببیند. ۸) صفحه درخواست گواهی با وضعیتهای «در انتظار بررسی»، «تأییدشده» و «ردشده»، فقط وقتی عضو شرایط لازم دارد امکان درخواست نشان بده. ۹) صفحه پروفایل با عکس، نام، وضعیت عضویت، اطلاعات شخصی، ویرایش اطلاعات مجاز و خروج امن. ۱۰) صفحه پیشنمایش گواهی با طراحی رسمی قرمز و سفید، عنوان «گواهی حضور»، نام عضو، عنوان فعالیت، تاریخ و شماره گواهی؛ امکان ذخیره/دانلود PDF یا فایل چاپی در حد قابلیت آفلاین دستگاه. گواهی رسمی فقط پس از تأیید مدیر صادر شود. ۱۱) صفحه تنظیمات شامل اعلانهای محلی، زبان (فارسی انتخابشده)، راهنمای حریم خصوصی، وضعیت حالت آفلاین، اتصالهای موردنیاز نسخه عملیاتی و خروج. ۱۲) صفحه نهایی خوشآمد و ناوبری با لوگو، عبارت «همراهی برای انسانیت»، معرفی کوتاه و دکمه ورود به داشبورد. مدیریت نقشها و دادهها را تا حد توان آفلاین پیادهسازی کن: سه نقش «عضو»، «مدیر دوم» و «رئیس» داشته باش. دقیقاً دو حساب مدیریتی بهصورت داده اولیه محلی وجود داشته باشد و نقش مدیر از روی شماره تلفن آزادانه قابل تغییر نباشد؛ یک فرایند «راهاندازی مورد اعتماد مدیر» با رمز راهاندازی محلی برای فعالسازی آنها قرار بده و در رابط کاربری صریحاً بگو که این حفاظت محلی جایگزین کنترل سمت سرور نیست. رئیس بالاترین سطح را داشته باشد و بتواند دادههای اعضا، فعالیتها و گواهیها را مدیریت کند؛ مدیر دوم بتواند فعالیتها و بررسی گواهیها را مدیریت کند؛ عضو عادی هرگز کنترلهای مدیریتی یا فرم ثبت فعالیت را نبیند و فقط فعالیتهای منتشرشده، سابقه خودش و درخواست گواهی را ببیند. امکان ثبت، ویرایش، حذف و انتشار فعالیت، ثبت شرکتکنندگان، بررسی درخواست گواهی و صدور شماره گواهی را برای مدیران بساز. برای اطلاعات ملی و شخصی حداقل محافظت محلی، ماسککردن کد ملی در نمایش و حذف امن دادههای محلی در تنظیمات را اضافه کن. جستوجو و فیلتر فعالیتها، اعلانهای محلی برای تغییر وضعیت و پیامهای موفقیت/خطا هم وجود داشته باشد. دادههای نمونه اولیه بدون نام شعبه بساز تا رابط خالی نباشد، ولی امکان حذف/ویرایش آنها باشد. همه فرمها، دکمهها و مسیرهای اصلی واقعاً کار کنند. از loading state، اعتبارسنجی، empty state و پیام خطای فارسی استفاده کن. الزامات واکنشگرایی: طراحی responsive و mobile-first باشد؛ از عرض ۳۶۰ پیکسل تا عرض کامل دسکتاپ بدون بههمریختگی و بدون اسکرول افقی کار کند؛ از عرض ثابت پیکسلی و ارتفاع ثابت برای بخشهای متنی استفاده نشود و از flex/grid، درصد و واحدهای نسبی استفاده شود؛ همه دکمهها و عناصر قابل لمس حداقل ۴۴×۴۴ پیکسل و با فاصله کافی باشند؛ هیچ قابلیت مهمی فقط با hover در دسترس نباشد؛ safe-area inset برای ناچ و نوار پایین رعایت شود؛ meta viewport استاندارد وجود داشته باشد؛ در دسکتاپ فضای اضافه با ستونبندی یا محدودکردن عرض متن مدیریت شود و یک ستون کش نیاید. ظاهر در موبایل اولویت دارد و برای نصب اندروید مناسب باشد. در متن داخل برنامه صادقانه مشخص کن که نسخه فعلی آفلاین/دمو است و برای SMS واقعی، احراز هویت امن، دیتابیس مشترک، دو مدیر واقعی سمت سرور، اعلان آنلاین و تولید APK امضاشده باید سرویس خارجی و پیکربندی فنی جداگانه انجام شود. از ادعای اتصال واقعی یا موفقیت SMS خودداری کن. از تصویر مرجع پیوستشده برای نزدیککردن لوگو، فرمها، کارتها، نوار بالا و نوار پایین به طراحی نمونه استفاده کن. فایلهای فرستادهی کاربر (این آدرسها عمومی و پایدار هستند): - https://s3.metisai.ir/genx-sts/images/6ad51a6607e256201939bebe/ca65b881-19a6-41e6-baf3-103d9d639bfb__file_00000000b5188243af5c2bfdce0eea05.png (file_00000000b5188243af5c2bfdce0eea05.png) همین فایلها را از این آدرسها بردار و در اپ به کار ببر — آیکون، لوگو، تصویر شخصیت یا هر چیز دیگری که در توضیح بالا خواسته شده. برای اینها تصویر تازه نساز و placeholder نگذار. اگر توضیح بالا نگفته کدام فایل کجا برود، ترتیب همین فهرست را در نظر بگیر.











