2026-05-13 15:46:27 +03:30
2026-05-13 15:46:27 +03:30
io
2026-05-03 17:01:46 +03:30
2026-05-13 15:46:27 +03:30
2026-05-11 16:06:47 +03:30
2026-04-07 10:38:28 +03:30
2026-05-11 14:53:55 +03:30
2026-05-06 16:30:57 +03:30
2026-05-07 14:11:10 +03:30
2026-05-07 13:34:00 +03:30
ade
2026-05-03 09:54:26 +03:30
io
2026-05-03 17:01:46 +03:30
2026-05-07 14:24:57 +03:30
io
2026-05-03 17:01:46 +03:30
2026-05-07 16:19:39 +03:30
io
2026-05-03 17:01:46 +03:30
2026-05-11 14:53:55 +03:30
2026-05-07 14:11:10 +03:30
2026-04-05 15:53:20 +03:30
2026-04-05 15:53:20 +03:30
io
2026-05-03 17:01:46 +03:30
io
2026-05-03 17:01:46 +03:30
io
2026-05-03 17:01:46 +03:30
2026-04-07 10:38:28 +03:30
io
2026-05-03 17:01:46 +03:30
io
2026-05-03 17:01:46 +03:30
2026-04-07 10:38:28 +03:30
io
2026-05-03 17:01:46 +03:30
io
2026-05-03 17:01:46 +03:30
2026-04-05 15:53:20 +03:30
2026-04-07 10:38:28 +03:30

فانتزی فوتبال - Fantasy Football

یک پلتفرم فانتزی فوتبال کامل با Next.js، Prisma و PostgreSQL

🌟 ویژگی‌ها

برای کاربران

  • ثبت‌نام و ورود امن با NextAuth
  • ساخت تیم به صورت استپ‌بای‌استپ
  • انتخاب لوگو و نام تیم
  • انتخاب از 6 ترکیب مختلف
  • مدیریت بودجه (100 میلیون)
  • انتخاب 11 بازیکن اصلی + 4 ذخیره
  • Drag & Drop برای جابجایی بازیکنان
  • انتخاب کاپیتان و نایب کاپیتان
  • فیلتر و جستجوی بازیکنان
  • نمایش زمین فوتبال واقعی
  • پیگیری امتیازات

برای ادمین

  • مدیریت کشورها و پرچم‌ها
  • مدیریت بازیکنان
  • مدیریت مسابقات و راند‌ها
  • ثبت رویدادهای بازی (گل، کارت، و...)
  • محاسبه خودکار امتیازات
  • تایید تیم‌های کاربران
  • مدیریت قوانین امتیازدهی
  • آمار و گزارش‌گیری

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

پیش‌نیازها

  • Node.js 18+
  • PostgreSQL
  • npm یا yarn

مراحل نصب

  1. کلون کردن پروژه
git clone <repository-url>
cd football-next
  1. نصب وابستگی‌ها
npm install
  1. تنظیم متغیرهای محیطی فایل .env را ایجاد کنید:
DATABASE_URL="postgresql://user:password@host:port/database"
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"
  1. راه‌اندازی دیتابیس
npm run db:generate
npm run db:push
  1. ساخت کاربران تست
# کاربر عادی
npm run setup:test-user

# کاربر ادمین
npm run setup:admin
  1. اجرای پروژه
npm run dev

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

📋 اسکریپت‌های NPM

npm run dev              # اجرای development server
npm run build            # ساخت برای production
npm run start            # اجرای production server
npm run db:push          # اعمال تغییرات schema به دیتابیس
npm run db:generate      # تولید Prisma Client
npm run db:studio        # باز کردن Prisma Studio
npm run setup:test-user  # ساخت کاربر تست
npm run setup:admin      # ساخت کاربر ادمین
npm run check:users      # بررسی کاربران موجود

🔐 کاربران پیش‌فرض

کاربر عادی

  • ایمیل: test@test.com
  • رمز عبور: 123456

ادمین

  • ایمیل: admin@admin.com
  • رمز عبور: admin123

📁 ساختار پروژه

football-next/
├── app/                    # Next.js App Router
│   ├── (admin)/           # صفحات ادمین
│   ├── (user)/            # صفحات کاربر
│   └── api/               # API Routes
├── components/            # کامپوننت‌های React
├── lib/                   # توابع کمکی
│   ├── auth.ts           # تنظیمات NextAuth
│   └── db.ts             # Prisma Client
├── prisma/               # Schema و Migrations
├── public/               # فایل‌های استاتیک
├── scripts/              # اسکریپت‌های کمکی
└── styles/               # فایل‌های CSS

🎮 راهنمای استفاده

برای کاربران

مستندات کامل در USER-GUIDE.md

برای توسعه‌دهندگان

مستندات راه‌اندازی در SETUP.md

🛠️ تکنولوژی‌ها

  • Framework: Next.js 16 (App Router)
  • Database: PostgreSQL
  • ORM: Prisma
  • Authentication: NextAuth.js
  • Styling: Tailwind CSS
  • Language: TypeScript
  • Drag & Drop: Native HTML5

📊 مدل دیتابیس

جداول اصلی

  • User - کاربران
  • Team - تیم‌های کاربران
  • Player - بازیکنان
  • Country - کشورها
  • Match - مسابقات
  • Round - راندها
  • MatchEvent - رویدادهای بازی
  • PlayerMatchStat - آمار بازیکنان
  • ScoringRule - قوانین امتیازدهی

🎨 ویژگی‌های طراحی

  • طراحی Responsive
  • حالت RTL برای فارسی
  • انیمیشن‌های روان
  • رنگ‌بندی مدرن
  • UX بهینه
  • دسترسی‌پذیری

🔄 فرآیند ساخت تیم

استپ 1: مشخصات تیم

  1. انتخاب لوگو (10 گزینه)
  2. وارد کردن نام تیم
  3. ساخت تیم

استپ 2: انتخاب بازیکنان

  1. انتخاب ترکیب
  2. اضافه کردن 11 بازیکن اصلی
  3. اضافه کردن 4 بازیکن ذخیره
  4. انتخاب کاپیتان و نایب کاپیتان
  5. ثبت نهایی

🐛 رفع مشکلات

خطای Foreign Key

# بررسی کاربران
npm run check:users

# ساخت کاربر جدید
npm run setup:test-user

مشکل Session

  1. از مرورگر خارج شوید
  2. Cache را پاک کنید
  3. دوباره وارد شوید

خطای دیتابیس

# ریست کردن دیتابیس
npx prisma db push --force-reset

# تولید مجدد Client
npm run db:generate

📈 TODO

  • آپلود تصویر برای لوگو تیم
  • پیش‌نمایش تیم
  • انیمیشن‌های بهتر
  • نمایش آمار تفصیلی بازیکنان
  • فیلتر پیشرفته
  • مقایسه بازیکنان
  • پیش‌بینی امتیازات
  • اعلان‌های Real-time
  • چت و نظرات
  • لیگ‌های خصوصی

🤝 مشارکت

برای مشارکت در پروژه:

  1. Fork کنید
  2. Branch جدید بسازید
  3. تغییرات را Commit کنید
  4. Push کنید
  5. Pull Request بزنید

📄 لایسنس

این پروژه تحت لایسنس MIT است.

📞 تماس

برای سوالات و پشتیبانی، با ما تماس بگیرید.


ساخته شده با ❤️ برای علاقه‌مندان فوتبال

Description
No description provided
Readme 3.6 MiB
Languages
TypeScript 69.9%
JavaScript 28.4%
PowerShell 0.7%
Shell 0.6%
Dockerfile 0.2%
Other 0.2%