Files
football-next/SETUP.md
2026-04-07 10:38:28 +03:30

113 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# راهنمای راه‌اندازی پروژه فانتزی فوتبال
## 🚀 نصب و راه‌اندازی
### 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
- [ ] نمایش آمار بازیکنان در هنگام انتخاب
- [ ] فیلتر پیشرفته بازیکنان (بر اساس قیمت، امتیاز، و...)