3955c7492b
- scripts/seed.ts: one-time import of Kaggle FIFA dataset (matches_1930_2022.csv, world_cup.csv) covering all 964 matches and 2720 goals from 1930-2022 with full scorer names, minutes, penalties, and own goals for every tournament - scripts/sync.ts: stripped to 2026 only (openfootball live data); historical years removed since Kaggle is now authoritative for 1930-2022 - Dockerfile: copy app/data into runner image; CMD runs seed.ts before server.js so a fresh deployment auto-seeds on first start (skips if already seeded) - package.json: add 'seed' script; use --force to re-import from updated CSV files - app/data/kaggle/: bundle Kaggle CSV files in repo Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
988 B
JSON
41 lines
988 B
JSON
{
|
|
"name": "worldcup",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.28.0",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"seed": "tsx scripts/seed.ts",
|
|
"sync": "tsx scripts/sync.ts",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:push": "drizzle-kit push"
|
|
},
|
|
"dependencies": {
|
|
"@apollo/client": "^4.2.3",
|
|
"@graphql-tools/schema": "^10.0.33",
|
|
"drizzle-orm": "^0.45.2",
|
|
"flag-icons": "^7.5.0",
|
|
"graphql": "^16.14.2",
|
|
"graphql-yoga": "^5.21.2",
|
|
"next": "16.2.9",
|
|
"postgres": "^3.4.9",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20.19.43",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"drizzle-kit": "^0.31.10",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.2.9",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^5"
|
|
}
|
|
}
|