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