commit bc9a8634f9610d3feb3e76f13a4de692a3cf15de Author: DrMesta103 Date: Thu Mar 26 15:17:16 2026 +0300 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..c12d835 --- /dev/null +++ b/README.md @@ -0,0 +1,125 @@ +# ParsShop Frontend + +پنل مدیریت فروشگاه پارس‌شاپ - ساخته شده با Vue 3 و TypeScript + +## ویژگی‌ها + +- 🔐 سیستم احراز هویت کامل (OTP و Username/Password) +- 📱 طراحی ریسپانسیو +- 🌙 پشتیبانی از حالت تاریک +- 🎨 استفاده از Tailwind CSS +- 🔤 فونت YekanBakh برای نمایش بهتر فارسی +- 📊 داشبورد مدیریتی +- 🔒 کنترل دسترسی‌ها +- 🌐 API Integration با NestJS Backend +- 🔄 Proxy برای حل مشکل CORS + +## تکنولوژی‌های استفاده شده + +- **Vue 3** - فریمورک اصلی +- **TypeScript** - برای Type Safety +- **Vue Router** - مدیریت مسیرها +- **Pinia** - مدیریت State +- **Tailwind CSS** - استایل‌دهی +- **YekanBakh Font** - فونت فارسی +- **Axios** - HTTP Client +- **SweetAlert2** - نمایش پیام‌ها +- **Custom Phone Formatting** - فرمت‌دهی شماره تلفن + +## نصب و راه‌اندازی + +### پیش‌نیازها +- Node.js (نسخه 18 یا بالاتر) +- npm یا yarn + +### مراحل نصب + +1. کلون کردن پروژه: +```bash +git clone +cd parsshop-frontend +``` + +2. نصب dependencies: +```bash +npm install +``` + +3. اجرای پروژه در حالت توسعه: +```bash +npm run dev +``` + +4. ساخت پروژه برای production: +```bash +npm run build +``` + +## ساختار پروژه + +``` +src/ +├── assets/ # فایل‌های استاتیک و CSS +├── components/ # کامپوننت‌های قابل استفاده مجدد +├── layouts/ # Layout های مختلف +├── router/ # تنظیمات Vue Router +├── services/ # سرویس‌های API +├── stores/ # Pinia Stores +├── types/ # TypeScript Type Definitions +├── views/ # صفحات اصلی +└── main.ts # Entry Point +``` + +## API Backend + +این پروژه با یک backend NestJS کار می‌کند که باید روی `http://localhost:3000` در دسترس باشد. + +### Endpoints موجود: +- `GET /api/health` - بررسی سلامت API +- `POST /api/auth/otp/request` - درخواست کد OTP +- `POST /api/auth/otp/verify` - تایید کد OTP +- `POST /api/auth/login/password` - ورود با رمز عبور +- `POST /api/auth/register/password` - ثبت نام +- `POST /api/auth/refresh` - تمدید توکن +- `POST /api/auth/logout` - خروج +- `GET /api/auth/me/admin-check` - بررسی دسترسی ادمین + +## صفحات موجود + +### صفحات احراز هویت: +- `/auth/login` - ورود با نام کاربری و رمز عبور +- `/auth/login-otp` - ورود با کد یکبار مصرف +- `/auth/verify-otp` - تایید کد OTP +- `/auth/register` - ثبت نام + +### صفحات اصلی: +- `/dashboard` - داشبورد اصلی +- `/profile` - پروفایل کاربری +- `/admin-test` - تست دسترسی‌های مدیریتی + +## ویژگی‌های احراز هویت + +- **دو روش ورود**: OTP و Username/Password +- **مدیریت توکن**: Automatic token refresh +- **کنترل دسترسی**: Role-based access control +- **حفاظت مسیرها**: Protected routes با navigation guards + +## تنظیمات + +### متغیرهای محیطی: +- `VITE_API_BASE_URL`: آدرس پایه API (پیش‌فرض: http://localhost:3000/api) + +### تنظیمات Tailwind: +فایل `tailwind.config.cjs` شامل تنظیمات سفارشی رنگ‌ها و کلاس‌های مخصوص پروژه است. + +## مشارکت + +برای مشارکت در پروژه: +1. Fork کنید +2. Branch جدید بسازید +3. تغییرات را commit کنید +4. Pull Request ارسال کنید + +## لایسنس + +این پروژه تحت لایسنس MIT منتشر شده است. \ No newline at end of file