یک سیستم احراز هویت ساده با استفاده از Next.js، TypeScript و SCSS Modules.
- ✅ صفحه ورود با اعتبارسنجی شماره تلفن ایران
- ✅ ریدایرکت خودکار به داشبورد پس از ورود
- ✅ صفحه داشبورد با نمایش اطلاعات کاربر
- ✅ طراحی Responsive
- ✅ استفاده از SCSS Modules با Nesting
- ✅ TypeScript برای type safety
- ✅ اعتبارسنجی شماره تلفن ایران
- ✅ ذخیرهسازی اطلاعات در localStorage
- Next.js 15 (App Router)
- TypeScript
- SCSS Modules
- React 19
src/
├── app/
│ ├── auth/
│ │ └── page.tsx # صفحه ورود
│ ├── dashboard/
│ │ └── page.tsx # صفحه داشبورد
│ ├── layout.tsx # Layout اصلی
│ ├── page.tsx # صفحه اصلی (ریدایرکت)
│ └── globals.css # استایلهای عمومی
├── components/
│ ├── Button.tsx # کامپوننت دکمه
│ └── Input.tsx # کامپوننت ورودی
└── styles/
├── Auth.module.scss # استایلهای صفحه ورود
└── Dashboard.module.scss # استایلهای صفحه داشبورد
-
نصب وابستگیها:
npm install
-
اجرای پروژه در حالت توسعه:
npm run dev
-
باز کردن مرورگر:
http://localhost:3000
- وارد کردن شماره تلفن ایران
- اعتبارسنجی شماره تلفن
- کلیک روی دکمه "ورود"
- دریافت اطلاعات تصادفی کاربر از API
- ذخیره اطلاعات و ریدایرکت به داشبورد
- نمایش اطلاعات کاربر
- نمایش زمان ورود
- دکمه خروج از سیستم
- Random User API:
https://randomuser.me/api/?results=1&nat=us - برای دریافت اطلاعات تصادفی کاربر
پروژه کاملاً responsive است و در تمام دستگاهها به خوبی نمایش داده میشود:
- موبایل (max-width: 480px)
- تبلت
- دسکتاپ
- استفاده از SCSS Modules
- Nesting برای کلاسها
- انیمیشنهای نرم
- رنگبندی مدرن
- سایههای زیبا
- اعتبارسنجی شماره تلفن ایران
- بررسی وجود کاربر در localStorage
- ریدایرکت خودکار در صورت عدم احراز هویت
- پروژه از RTL (Right-to-Left) برای زبان فارسی پشتیبانی میکند
- تمام متنها به زبان فارسی هستند
- از localStorage برای ذخیره اطلاعات کاربر استفاده میشود
- در صورت عدم وجود اطلاعات کاربر، به صفحه ورود هدایت میشود
# Build پروژه
npm run build
# اجرای production
npm startاین پروژه برای اهداف آموزشی ساخته شده است.