فرانت
مجموعهای از ابزارها و یوتیلیتیهای مفید برای وظایف مختلف.
مستندات معماری فرانتاند (Architecture Documentation)
- 🏗️ نمای کلی معماری فرانتاند (Overview)
- 📁 ساختار پروژه کلاینت (Project Structure)
- ⚙️ لایه پیکربندی پلتفرم (Nons Configuration)
- 🔌 الگوی ارتباطی رجیستری (Registry Pattern)
- 🔄 جریان دادهها در زمان اجرا (Data Flow)
- 🔐 قرارداد Auth Header در پنل ادمین
سیستم طراحی (Design System)
مستندات توکنهای گرافیکی، حالتهای تعاملی و تایپوگرافی:
- 🎨 معرفی سیستم طراحی (Overview)
- 🧩 راهنمای مصرف توسعهدهنده (Developer Usage)
- 🖱️ حالتهای تعاملی (Interactive States)
- 🔤 تایپوگرافی (Typography)
استانداردهای UX ورود (Login UX Standards)
اصل اول — حذف Registration
پلتفرم NONS صفحه «ثبتنام» (Sign Up / Register) ندارد. کاربران همیشه «ورود به NONS» را تجربه میکنند.
صفحه ورود (Login Page)
| عنصر | توضیح |
|---|---|
| عنوان | "ورود به NONS" |
| روش Primary | Magic Code — فیلد ایمیل + دکمه "ارسال کد" + فیلد کد تایید |
| روش Secondary | دکمه "ورود با Google" (OAuth redirect) |
| خطاها | پیامهای خطای فارسی، بدون افشای اطلاعات هویتی |
| وضعیتها | لودینگ هنگام ارسال کد، تایمر مجدد برای درخواست کد جدید |
Magic Code UX
- کاربر ایمیل خود را وارد میکند ← دکمه "ارسال کد" فعال میشود
- کد ۶ رقمی به ایمیل ارسال میشود ← پیام تأیید نمایش داده میشود
- کاربر کد را در ۶ فیلد مجزا یا یک فیلد وارد میکند
- تایمر ۱۲۰ ثانیهای برای درخواست مجدد کد
- پس از تایید، کاربر به صفحه اصلی هدایت میشود
Google Login UX
- کاربر روی دکمه "ورود با Google" کلیک میکند
- به صفحه انتخاب حساب Google هدایت میشود
- پس از تایید، به NONS بازمیگردد
- اگر ایمیل کاربر وجود داشته باشد → ورود | اگر وجود نداشته باشد → ایجاد حساب خودکار + ورود
تشخیص کاربر جدید (Onboarding)
- پس از اولین ورود موفق، سیستم هدر
X-Onboarding-Required: trueرا به فرانتاند ارسال میکند. - فرانتاند کاربر را به صفحه خوشآمدگویی / راهنمای اولیه هدایت میکند.
- پس از تکمیل اونبوردینگ، درخواست
POST /v1/auth/onboarding/completeارسال میشود.
امنیت
- Rate Limiting: حداکثر ۵ تلاش ناموفق برای Magic Code در ۱۵ دقیقه
- انقضای کد: هر کد یکبار مصرف حداکثر ۵ دقیقه اعتبار دارد
- HttpOnly Cookies: نشست Kratos در کوکی امن ذخیره میشود
- CORS: فقط دامنههای مجاز (مطابق تنظیمات Gateway)