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

3.6 KiB
Raw Permalink Blame History

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

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

1. نصب وابستگی‌ها

npm install

2. تنظیم دیتابیس

npx prisma generate
npx prisma db push

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

کاربر عادی

npx tsx scripts/create-test-user.ts
  • ایمیل: test@test.com
  • رمز عبور: 123456

کاربر ادمین

npx tsx scripts/create-admin-user.ts
  • ایمیل: admin@admin.com
  • رمز عبور: admin123

4. اجرای پروژه

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. وقتی تیم کامل شد، روی "وارد رقابت شو" کلیک کنید

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

بررسی کاربران

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