# راهنمای راه‌اندازی پروژه فانتزی فوتبال

## 🚀 نصب و راه‌اندازی

### 1. نصب وابستگی‌ها
```bash
npm install
```

### 2. تنظیم دیتابیس
```bash
npx prisma generate
npx prisma db push
```

### 3. ساخت کاربران تست

#### کاربر عادی
```bash
npx tsx scripts/create-test-user.ts
```
- ایمیل: `test@test.com`
- رمز عبور: `123456`

#### کاربر ادمین
```bash
npx tsx scripts/create-admin-user.ts
```
- ایمیل: `admin@admin.com`
- رمز عبور: `admin123`

### 4. اجرای پروژه
```bash
npm run dev
```

پروژه روی `http://localhost:3000` اجرا می‌شود.

## 📋 مراحل ساخت تیم

### استپ 1: نام تیم و لوگو
1. به صفحه `/team` بروید
2. یک لوگو برای تیم انتخاب کنید (از 10 گزینه موجود)
3. نام تیم را وارد کنید (حداکثر 30 کاراکتر)
4. روی "بعدی: انتخاب ترکیب" کلیک کنید

### استپ 2: انتخاب ترکیب و بازیکنان
1. یک ترکیب انتخاب کنید (4-3-3، 4-4-2، و...)
2. از لیست سمت راست، بازیکنان را انتخاب کنید
3. باید 11 بازیکن اصلی + 4 بازیکن ذخیره داشته باشید
4. بودجه شما 100 میلیون است
5. می‌توانید با drag & drop بازیکنان را جابجا کنید
6. یک کاپیتان و یک نایب کاپیتان انتخاب کنید
7. وقتی تیم کامل شد، روی "وارد رقابت شو" کلیک کنید

## 🔧 اسکریپت‌های مفید

### بررسی کاربران
```bash
npx tsx scripts/check-users.ts
```

### تست Session
مراجعه به: `http://localhost:3000/api/test-session`

## 🎨 ویژگی‌های جدید

### صفحه ساخت تیم
- ✅ طراحی استپ‌بای‌استپ (2 مرحله)
- ✅ انتخاب لوگو تیم (10 گزینه)
- ✅ انتخاب نام تیم با محدودیت 30 کاراکتر
- ✅ نمایش پیشرفت (Progress Indicator)
- ✅ طراحی مدرن و شماتیک
- ✅ رنگ‌بندی بهتر و gradient ها
- ✅ پیام‌های خطا و موفقیت واضح‌تر
- ✅ راهنمای تکمیل تیم

### بهبودهای API
- ✅ بررسی وجود کاربر قبل از ساخت تیم
- ✅ ذخیره formation در زمان ساخت تیم
- ✅ پیام‌های خطای بهتر

## 🐛 رفع مشکلات

### خطای "Foreign key constraint violated"
این خطا زمانی رخ می‌دهد که userId در دیتابیس وجود ندارد. برای رفع:
1. مطمئن شوید که لاگین کرده‌اید
2. اسکریپت `check-users.ts` را اجرا کنید
3. در صورت نیاز، کاربر جدید بسازید

### تیم ساخته نمی‌شود
1. از مرورگر خارج شوید (Logout)
2. دوباره وارد شوید (Login)
3. به صفحه `/team` بروید
4. اگر باز هم مشکل دارید، `/api/test-session` را چک کنید

## 📱 صفحات

- `/` - صفحه اصلی
- `/login` - ورود
- `/register` - ثبت‌نام
- `/team` - ساخت و مدیریت تیم
- `/admin` - پنل ادمین
- `/profile` - پروفایل کاربر

## 🎯 TODO

- [ ] آپلود تصویر برای لوگو تیم
- [ ] پیش‌نمایش تیم قبل از ثبت نهایی
- [ ] انیمیشن‌های بهتر برای drag & drop
- [ ] نمایش آمار بازیکنان در هنگام انتخاب
- [ ] فیلتر پیشرفته بازیکنان (بر اساس قیمت، امتیاز، و...)
