مرکز اخبار
آخرین بهروزرسانیها و پیشرفتهای پروژههای در حال توسعه
سایت خبری
نرمافزار«🔐 اضافه شدن ورود مدیران با OTP و احراز هویت JWT»
. 🔐 ارتقای امنیت: ورود مدیران با OTP (رمز یکبارمصرف) فعال شد و از امروز همه ورودهای ادمین با کد پیامکی انجام میشود . 📲 ارسال کد تایید: OTP از طریق پیامک به شمارهٔ ثبتشده مدیر ارسال و فقط ۱۰ دقیقه اعتبار دارد . 🛡️ لایهٔ دوم امنیت: پس از تایید OTP، نشست ادمین با توکن JWT تولید و روی کوکی امن ست میشود . 🔑 اعتبارسنجی توکن: همهٔ درخواستهای مدیریتی با ValidateToken بررسی و در صورت انقضا یا تغییر امضا، رد میشوند . 🚫 جلوگیری از دسترسی غیرمجاز: مسیرهای ادمین فقط با میدلور AdminRequired و نقش admin قابل دسترسی هستند . 🔁 زمان انقضای نشست: مدت اعتبار JWT برای مدیران ۷ روز تعیین شده و قابل تغییر از تنظیمات سرور است . 🧱 ضد حملات رایج: ساختار جدید، ریسکهای Brute Force، Session Hijacking و Token Replay را کاهش میدهد . ✉️ درگاه پیامکی: ارسال کد از طریق کاوهنگار (Kavenegar VerifyLookup) با الگوی onpp پیادهسازی شد . 📞 پاکسازی امن: کدهای قبلی هر شماره قبل از صدور کد جدید حذف میشوند تا تداخل رخ ندهد . ⏱️ محدودیت زمانی: کد تایید (VerificationCode) با فیلد ExpiresAt ذخیره و بعد از انقضا بیاعتبار میشود . ✅ پیام موفقیت: پس از تایید کد، کاربر جدید در MongoDB ثبت یا کاربر قبلی بازیابی و وارد میشود . 🍪 کوکی احراز هویت: کوکی token به صورت HTTPOnly و SameSite=Lax ست میشود (در HTTPS میتوان Secure=true کرد) . 👤 ایجاد خودکار کاربر: اگر شماره موبایل در سیستم نبود، حساب user_{digits} با نقش user ایجاد میشود . 🔐 وضعیت فعال/غیرفعال: کاربران غیر فعال اجازهٔ ورود ندارند و پیام مناسب دریافت میکنند . 🧩 میدلور AuthRequired: برای مسیرهای حساس API، حضور توکن معتبر الزامی است . 🧭 میدلور AuthOptional: برای صفحات عمومی، اگر توکن معتبر باشد اطلاعات حداقلی کاربر ست میشود . 🧰 صفحه خطای 403: برای دسترسی غیرمجاز، قالب زیبای «عدم دسترسی» با گرادیان و انیمیشن قلب طراحی شد . 📵 پیام واضح: صفحه 403 اعلام میکند این بخش فقط مخصوص مدیران است و لینک بازگشت به خانه دارد . 📱 ریسپانسیو کامل 403: برای موبایل خیلی کوچک تا تبلت و حتی حالت Landscape استایل تفکیکشده دارد . 🎨 هماهنگی با تم: 403 از رنگهای SiteSettings (Primary/Accent/Tertiary/Surface) و حالت تاریک پشتیبانی میکند . 🧮 بهینهسازی سبکها: فونت Vazirmatn به صورت preload و نمایش سریعتر متنها انجام میشود . 🧷 تم تاریک: data-theme=dark شامل پالت جداگانه و کنتراست مناسب برای خوانایی بالاتر است . 🧩 اضافهشدن صفحه پروفایل: صفحهٔ «پروفایل کاربری» با UI مدرن، کارتها و گرادیان هدر پیادهسازی شد . 👓 نمایش اطلاعات: موبایل، نام کاربری، ایمیل، تاریخ عضویت و شناسهٔ کاربری بهصورت منظم و قابلخواندن نمایش داده میشود . ✏️ ویرایش امن: کاربر میتواند نام کاربری و ایمیل را با اعتبارسنجی سمت کلاینت و سرور ویرایش کند . 📨 اعتبارسنجی ایمیل: فرمت ایمیل قبل از ارسال به سرور بررسی و خطاها با Toast نمایان میشود . 💾 ذخیره تغییرات: درخواست PUT به /user/profile ارسال و پس از موفقیت، دادهها مجدد بارگذاری میشوند . 🔔 Toast بازخورد: برای موفقیت یا خطا، اعلان کوتاه بالای صفحه نشان داده میشود . 🔄 Skeleton Loading: هنگام دریافت اطلاعات پروفایل، Placeholderهای شمرینگ برای تجربهٔ بهتر کاربر فعال است . 🧑💼 نشان نقش: اگر نقش admin باشد Badge نقش به «🛡️ مدیر سایت» تغییر و قابل کلیک برای ورود به پنل میشود . ⚙️ دکمهٔ مدیریت: در صورت نقش admin، دکمهٔ «⚙️ مدیریت» به نوار عملیات اضافه و به /admin هدایت میکند . 🖱️ UX Hover: روی Badge مدیر افکت Hover و عنوان کمکی (title) اضافه شده است . 🚪 خروج امن: دکمهٔ خروج، کوکی توکن را با تاریخ گذشته حذف و سپس به صفحهٔ اصلی هدایت میکند . 🗄️ پاکسازی هدفمند: فقط مقادیر مرتبط با احراز هویت از localStorage حذف و تم کاربر حفظ میشود . ⌨️ میانبرها: Enter در فیلدها برای ذخیره و Esc برای لغو ویرایش عمل میکند . 🧰 ساختار CSS تمیز: کارتها، سکشنها و دکمهها با سایه نرم، گوشههای گرد و پدینگ استاندارد طراحی شدهاند . 🧱 مرزبندی امنیتی: مرز نقشها با میدلورها تضمین و پاسخهای JSON خطاهای احراز هویت استانداردسازی شده است . 🧾 API خبرها: مدل News در MongoDB ذخیره و مسیرهای API برای ایجاد/دریافت لیست/نمایش خبر آماده است . 📰 فرم انتشار خبر: فیلدهای پروژه، روز، عنوان، محتوا، قطعهکد و فایلهای رسانه برای خبر فعال است . 🧩 تگها و سئو: هر خبر میتواند دارای آرایهٔ Tags باشد تا در جستجو و فیلتر دستهبندی بهتر عمل کند . 🖼️ آپلود رسانه: تصاویر و ویدیوهای مرتبط با خبر قابل الصاق و در لیست خبرها قابل پیشنمایش هستند . 🧭 ناوبری روان: پس از انتشار خبر موفق، پیام تایید و مسیر برگشت به لیست خبرها ارائه میشود . 🚀 کارایی بهتر: استفاده از Fiber در Go با حافظهٔ کم و سرعت پاسخگویی بالا برای API . 🗃️ ذخیرهسازی امن: جداول users، verification_codes و news با ایندکسهای ضروری بر اساس نیاز قابل تنظیماند . 🧪 خطایابی ساده: پیامهای خطا و کدهای وضعیت HTTP استانداردسازی شد (400/401/403/404/500) . 🧯 مدیریت خطاهای SMS: در صورت خطای درگاه پیامکی، رکوردهای موقت حذف و پیام مناسب به کاربر نمایش داده میشود . 🔍 لاگ حداقلی: لاگ رخدادهای مهم مثل ثبت کاربر جدید و ارسال موفق پیامک برای بررسیهای بعدی ثبت میشود . 🧰 سازگاری با CDN: فونتها و داراییهای استاتیک با امکان کش و تحویل سریعتر تنظیم میشوند . 🌗 سازگاری با تم سامانه: صفحهٔ پروفایل و 403 از رنگها و متغیرهای CSS موجود در SiteSettings پیروی میکنند . 🧭 استانداردهای دسترسپذیری: کنتراست رنگها و اندازهٔ فونتها برای خوانایی بهتر روی موبایل و دسکتاپ ارتقا یافت . 🧩 ساختار قابلگسترش: افزودن MFA مبتنی بر اپلیکیشن (TOTP) در کنار OTP پیامکی در برنامهٔ توسعه است . 🧪 تست دستی مسیرها: /auth/send-code، /auth/verify-code، /auth/logout، /user/profile/data، /user/profile . 🔒 کوکیهای امن: پیشنهاد میشود در محیط Production مقدار Secure=true شود تا فقط روی HTTPS ارسال شوند . 🧭 SameSite=Lax: از ارسال ناخواسته کوکی در ریدایرکتهای Cross-Site رایج جلوگیری میکند . 🛠️ پارامترهای تنظیمات: رنگها، عنوانها، سوییچ حالت تاریک و تعداد موارد هر صفحه از SiteSettings خوانده میشود . 🧩 قالبسازی: عنوان صفحهٔ 403 از {{.Settings.SiteTitle}} خوانده میشود تا با نام سایت هماهنگ باشد . 🧰 مدیریت استایل: استایلها تفکیکپذیرند و امکان انتقال به فایلهای مستقل CSS وجود دارد . 🧪 Validations سمت کلاینت: طول نام کاربری و صحت ایمیل قبل از ارسال بررسی میشود . 🧪 Validations سمت سرور: BodyParser روی ساختار امن و بهروزکنندهٔ تاریخ updated_at عمل میکند . 🔄 بارگذاری اولیه: loadProfile پس از mount اجرا و دادهها را بهروز میکند؛ در خطا Toast نمایش داده میشود . 🧭 روال ادمین: کلیک روی Badge «مدیر سایت» یا دکمه «⚙️ مدیریت» به مسیر /admin هدایت میکند . 📦 ساختار استورها: استفاده حداقلی از localStorage و sessionStorage طبق نیاز UX . 🧷 جلوگیری از XSS: واکشی دادهها و جایگذاری متنها بدون HTML خام و با textContent انجام میشود . 🧨 جلوگیری از CSRF: اتکا به JWT + SameSite و امکان افزودن Header Anti-CSRF در فاز بعدی . 🔎 سئو خبر: عنوان، لید و بدنهٔ خبر کوتاه و واضح نوشته میشوند تا CTR و خوانایی افزایش یابد . 🗂️ نقشهٔ محتوا: خبرها بر اساس روز (Day) پروژه نسخهبندی میشوند تا تاریخچهٔ توسعه قابل رهگیری باشد . 🧮 تِم متریال: استفاده از متغیرهای رنگی همسو با Material You برای هماهنگی بصری کل سامانه . 🧩 کدنویسی تمیز: کلاسها و نامگذاریها توصیفی و قابل نگهداری برای توسعههای بعدی هستند . 🚀 برنامهٔ بعدی: افزودن فیلتر خبر بر اساس تگها، جستجو و صفحهٔ جزئیات پاسخگو (SEO Friendly) . 📈 هدف نهایی: امنیت بیشتر، تجربهٔ کاربری روانتر و شفافیت روند تغییرات برای کاربران و مدیران . 🧭 نتیجهٔ عملی: امروز با فعالسازی OTP و صفحهٔ پروفایل، سطح امنیت و بهرهوری مدیریت بهصورت محسوسی افزایش یافت . 🧩 لینکهای داخلی: لینک بازگشت به خانه و مسیرهای مدیریتی مشخص و یکدست شدند . 🧪 کنترل خطا در UI: همهٔ خطاهای رایج (شبکه/سرور/اعتبارسنجی) پیام مناسب و غیرمزاحم نمایش میدهند . 🧱 محدودسازی نقش: اگر نقش کاربر admin نباشد، پاسخ Forbidden با صفحهٔ 403 رندر میشود . 🧭 بارگذاری شرطی دکمه مدیریت: دکمهٔ «⚙️ مدیریت» فقط در نقش admin به DOM تزریق میشود . 🧰 ابزار توسعه: ساختار بخشها برای دیباگ و توسعهٔ آینده بهصورت ماژولار طراحی شده است . 📜 حقوق کاربر: دادههای پروفایل فقط با درخواست مالک حساب قابل ویرایش است . 🧲 کش محتوا: فونتها و داراییهای استاتیک با Cache-Control مناسب تحویل داده میشوند . 🪪 شناسه کاربر: نمایش ID بهصورت Hex برای پشتیبانی بهتر در پشتیبانی و مانیتورینگ . 🧭 مسیرهای امن: همهٔ مسیرهای /admin/* و /api/* حساس تحت پوشش میدلورهای احراز هویت هستند . 🧩 تمپلیت یکپارچه: Profile و 403 از یک سیستم رنگ و تایپوگرافی واحد استفاده میکنند . 🛡️ محافظت از دادهها: ایمیلها و شمارهها فقط در پروفایل و برای مالک نمایش داده میشوند . 🔍 لاگ خروج: در خروج موفق، پیام JSON استاندارد و هدایت سریع به صفحهٔ اول انجام میشود . 🧩 کد نمونهٔ 403: شامل انیمیشن Spin/Heartbeat و گرادیانهای نرم برای حس امنیت و کیفیت بالاتر است . 🧭 آیکونها و ایموجیها: در عناصر کلیدی برای افزایش اسکنپذیری محتوا استفاده شدهاند . 🧰 استانداردسازی پیامها: پیامهای خطا و موفقیت یکدست و فارسیسازی کامل شدهاند . 📱 ریسپانسیو پروفایل: Grid دوستونه روی دسکتاپ و تکستونه روی موبایل با فاصلهگذاری استاندارد . 🧩 قابلیت توسعه: جایگزینی OTP پیامکی با TOTP یا Push در آینده بدون بازنویسی اساسی ممکن است . 🔧 سازگاری با CDN/ImageProxy: فایلهای رسانهٔ خبر قابل بهینهسازی در مسیر تحویل هستند . 🧭 مسیرهای خبر: ایجاد خبر (POST /api/news)، لیست خبرها (GET /api/news)، نمایش خبر (GET /api/news/:id) . 🧩 مدل News: شامل Day، Title، Content، Images، Video، CodeSnippet و Tags برای غنای محتوایی . 🧪 CodeSnippet اختیاری: امکان درج قطعهکد در خبر برای مستندسازی تغییرات فنی فراهم است . 🗂️ پیوست رسانه: Drag & Drop فایلها در فرم انتشار برای سرعت عمل مدیران . 🧰 سازگاری با موتورهای جستجو: ساختار تیتر/پاراگراف کوتاه، تگهای معنایی و محتوای اصیل . 🧭 مسیر پروفایل: دریافت اطلاعات از /user/profile/data و بروزرسانی با PUT /user/profile . 🔍 نمایش تاریخ عضویت: تاریخ به فرمت فارسی (fa-IR) با جزئیات روز/ماه/سال نمایش داده میشود . 🧩 نگهداری و توسعه: ساختار کدها بهگونهای است که مهاجرت به Service Layer یا Repository بهسادگی انجام شود . 💡 جمعبندی: امنیت قویتر، مدیریت سادهتر، تجربهٔ سریعتر؛ سه محور اصلی این بروزرسانی هستند
سایت خبری
نرمافزارراهاندازی «داشبورد آنالیتیکس Shadow Architect» با آمار لحظهای، فیلترهای زمانی و نمودارهای تعاملی
• 🚀 داشبورد جدید فعال شد. یک مرکز یکپارچه برای رصد لحظهای عملکرد سایت Shadow Architect راهاندازی شد که به مدیران و تیمهای محتوا امکان میدهد وضعیت بازدیدها، صفحات پربازدید و عملکرد پروژهها را در یک نگاه ببینند و بر همان اساس تصمیمهای سریع و دقیق بگیرند. • 👁️ نمای کلی آمار در چهار کارت. در ابتدای صفحه چهار کارت «کل بازدیدها»، «بازدید امروز»، «تعداد صفحات» و «میانگین روزانه» نمایش داده میشود. هر کارت همراه با مینینمودار اسپارکلاین، برچسب روند (افزایشی/کاهشی/خنثی) و نشانگر تغییرات نسبت به دیروز یا میانگین عمل میکند تا بدون ورود به جزئیات، نبض ترافیک مشخص باشد. • 📈 نمودار روند بازدید با فیلترهای زمانی. نمودار خطی تعاملی، امکان مشاهدهٔ روند در بازههای «امروز»، «۷ روز»، «۳۰ روز» و «۹۰ روز» را میدهد. با جابهجایی بین فیلترها، محورهای نمودار و نقاط دادهها بهصورت پویا بهروزرسانی میشوند و با نگهداشتن نشانگر موس، مقدار هر روز بهصورت Tooltip قابل مشاهده است. این قابلیت تحلیل جهشها، افتها و اثر کمپینها را ساده میکند. • 🥧 توزیع بازدید صفحات بهصورت دونات. نمودار دونات سهم هر صفحه از کل ترافیک را نمایش میدهد و فوراً مشخص میکند کدام بخشهای سایت بیشترین توجه را گرفتهاند. این دید کمک میکند برنامهٔ محتوایی بر اساس واقعیت مصرف محتوا تنظیم شود و تیمها روی صفحات با پتانسیل بالاتر تمرکز کنند. • ⚡ فعالیت لحظهای امروز. در کارت «فعالیت لحظهای» فهرستی از صفحات داغ امروز نمایش داده میشود؛ صفحاتی که همین امروز بیشترین بازدید را ثبت کردهاند. این قابلیت برای واکنش سریع به موجهای ترافیکی، بهروزرسانی تیترها و تقویت لینکدهی داخلی بسیار مفید است. • 💼 عملکرد پروژهها در سه بُعد. نمودار میلهای افقی «پروژهها» را میتوان بر اساس «بازدید»، «خطوط کد» و «تعداد اخبار» سوییچ کرد. این سوییچ سهگانه، تصویر متوازنی از محبوبیت بیرونی (بازدید)، حجم فعالیت توسعه (LOC) و خروجی رسانهای (اخبار) ارائه میکند تا ارزیابی پروژهها فقط به یک معیار محدود نشود. • 🔍 جداول تحلیلی با مرتبسازی پویا. دو جدول «تحلیل صفحات» و «تحلیل پروژهها» با قابلیت مرتبسازی بین چند حالت (بازدید، نام، نوع، امروز و …) طراحی شدهاند. هر سطر شامل نشانگر وضعیت/روند، زمان آخرین بازدید بهصورت «مدتزمان گذشته»، و نوار پیشرفت نسبت به بیشینهٔ مشاهدهشده است تا مقایسهٔ نسبی آسان شود. • 📤 خروجیگرفتن فوری از دادهها. تنها با یک کلیک میتوان گزارش کامل داشبورد را در قالب JSON دانلود کرد. این امکان برای آرشیو، ارسال برای تحلیلگران، یا اتصال به ابزارهای بیرونی (مانند Notebookها یا داشبوردهای ثانویه) کاربردی است و استقلال تیمها را در تحلیل افزایش میدهد. • 🔄 بهروزرسانی خودکار هر ۵ دقیقه. موتور رفرش ادواری دادهها تضمین میکند که بدون بارگذاری دوبارهٔ صفحه، نمودارها و کارتها تازه بمانند. بهینهسازیها باعث شده این رفرش سبک و کمهزینه باشد و تجربهٔ کاربری روان باقی بماند. • 🌙 طراحی مدرن، RTL و حالت تیره/روشن. رابط کاربری با فونت «وزیر»، سایههای نرم، گرادیانهای کمنقص و رعایت کامل راستبهچپ پیادهسازی شده است. پشتیبانی از تم تیره و روشن، خوانایی را در محیطهای مختلف افزایش میدهد و برای کار طولانیمدت چشمنواز است. • 🧭 هدایت سریع با لینکهای درونجدولی. نام صفحات و پروژهها به مقصد خود لینک شدهاند؛ بنابراین از داخل جدول میتوان مستقیماً همان مورد را در سایت باز کرد. این کار زمان رفتوبرگشت بین ابزار تحلیل و صفحهٔ مقصد را کاهش میدهد. • 🧩 مقیاسپذیری داده و حالتهای خالی/خطا. برای مواقع نبود داده یا تأخیر سرویس، حالتهای «در حال بارگذاری»، «بدون داده» و «خطا» با پیامهای شفاف در نظر گرفته شده است. این رفتار پایدار، تجربهٔ مدیران را در شرایط واقعی شبکه و سرور قابل اتکا میکند. • 🧪 دقت تاریخی و همترازی زمانی. محاسبات «امروز/دیروز» و تجمیع روزانه با نرمالسازی تاریخها انجام میشود تا اختلاف ساعتها یا قالبهای تاریخ باعث خطا نشود. این حساسیت در گزارشهای روزانه اهمیت بالایی دارد و از بدفهمی روندها جلوگیری میکند. • 🔐 تمرکز بر حریم خصوصی و امنیت. داشبورد بر دادههای تجمیعی تکیه دارد و از نمایش اطلاعات شخصی خودداری میکند. دسترسی نیز برای نقشهای ادمین در نظر گرفته شده تا کنترل کیفی و امنیتی حفظ شود. • 🧭 استفادهٔ سریع توسط تیم محتوا. نویسندگان میتوانند با نگاه به «پربازدیدترین صفحات» و «فعالیت لحظهای»، موضوعات داغ را شناسایی کنند، تیترها را بهبود دهند و لینکسازی داخلی را هدفمند کنند. نمودار روند نیز اثربخشی تغییرات عنوان/متن/تصویر را ظرف چند ساعت نشان میدهد. • 🛠️ کاربرد برای تیم فنی و مدیریت محصول. سوییچ به «خطوط کد» و «تعداد اخبار» تصویر کاملی از ریتم توسعه و بازتاب رسانهای میدهد. البته تأکید میشود LOC معیار کیفیت نیست، اما در کنار سایر شاخصها، سیگنال مفیدی از تلاش و حجم تحویل است. • 🎯 هدفگذاری و رصد OKRها. با کارتها و نمودارها، تعیین اهداف هفتگی/ماهانه برای بازدید، رشد صفحات یا خروجی خبری ساده میشود. نوارهای پیشرفت نسبی در جدولها نیز حس رقابت سالم بین صفحات/پروژهها ایجاد میکند. • 🧭 تفسیر بهتر دونات توزیع صفحات. اگر سهم یک صفحه غیرمعمول زیاد شد، میتوان با تغییر فیلتر زمانی بررسی کرد که این جهش مقطعی بوده یا روندی پایدار است. سپس با تقویت محتوای همخانواده، اثر شبکهای در کل سایت ایجاد کرد. • 🧰 جزییات فنی قابل اتکا. نمودارها با Chart.js پیادهسازی شدهاند و برای کاهش نویز بصری از خطوط نرم (tension) و نقاط کوچک استفاده میشود. اسپارکلاینها بدون Tooltip اجرا شدهاند تا در کارتها خلوت و سریع باشند، در حالیکه نمودار اصلی اطلاعات کاملتر را ارائه میدهد. • 🧭 مرتبسازیهای چندگانه در جدولها. امکان چرخش مرتبسازی بین «بازدید کل»، «امروز»، «نام»، «نوع» و… فراهم است. این انعطاف به تحلیلگر اجازه میدهد با یک کلیک زاویهٔ نگاهش را عوض کند و نشانههای متفاوتی از داده بگیرد. • 📦 معماری ماژولار برای رشد آینده. ساختار فعلی برای افزودن ویژگیهایی مثل مقایسهٔ دورهای (هفته به هفته/ماه به ماه)، اهداف کمی، برچسبگذاری کمپینها (UTM)، جزئیات منابع ترافیک، و حتی هشدارهای آستانهای آماده است. این مسیر توسعه، داشبورد را از «گزارش» به «ابزار تصمیمسازی» ارتقا میدهد. • 🧭 راهبرد محتوا بر پایهٔ داده. ترکیب «روند»، «توزیع سهم»، «پربازدیدها» و «فعالیت امروز» باعث میشود هم تصویر بلندمدت را ببینید و هم نبض روز را حس کنید. نتیجه، چرخهٔ سریع «مشاهده → اقدام → اندازهگیری» است. • 🤝 دعوت به بازخورد. از مدیران و اعضای تیم دعوت میشود داشبورد را بهصورت روزانه بررسی کنند و پیشنهادهای خود را برای بهبود رابط کاربری، اضافهکردن نماهای تحلیلی جدید یا یکپارچگی با ابزارهای دیگر مطرح کنند. این محصول زنده است و با بازخورد شما دقیقتر و کاربردیتر خواهد شد. • ✅ جمعبندی. داشبورد آنالیتیکس Shadow Architect، با ترکیب کارتهای خلاصه، نمودارهای تعاملی، جداول تحلیلی و خروجیگیری سریع، تصویری شفاف و قابل اتکا از وضعیت سایت ارائه میکند. اکنون تصمیمهای محتوامحور و محصولمحور میتوانند بر مبنای دادهٔ تازه و قابل پیگیری اتخاذ شوند.