113 lines
3.6 KiB
Markdown
113 lines
3.6 KiB
Markdown
# راهنمای راهاندازی پروژه فانتزی فوتبال
|
||
|
||
## 🚀 نصب و راهاندازی
|
||
|
||
### 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
|
||
- [ ] نمایش آمار بازیکنان در هنگام انتخاب
|
||
- [ ] فیلتر پیشرفته بازیکنان (بر اساس قیمت، امتیاز، و...)
|