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>
4.8 KiB
4.8 KiB
| 1 | Round | Day | Date | Time | Score | Referee | Notes | Year | home_team | away_team |
|---|---|---|---|---|---|---|---|---|---|---|
| 2 | Group stage | Thu | 2026-06-11 | 13:00 (22:00) | 2026 | Mexico | South Africa | |||
| 3 | Group stage | Thu | 2026-06-11 | 20:00 (05:00) | 2026 | Korea Republic | Czechia | |||
| 4 | Group stage | Fri | 2026-06-12 | 15:00 (22:00) | 2026 | Canada | Bosnia-Herzegovina | |||
| 5 | Group stage | Fri | 2026-06-12 | 18:00 (04:00) | 2026 | United States | Paraguay | |||
| 6 | Group stage | Sat | 2026-06-13 | 12:00 (22:00) | 2026 | Qatar | Switzerland | |||
| 7 | Group stage | Sat | 2026-06-13 | 18:00 (01:00) | 2026 | Brazil | Morocco | |||
| 8 | Group stage | Sat | 2026-06-13 | 21:00 (04:00) | 2026 | Haiti | Scotland | |||
| 9 | Group stage | Sat | 2026-06-13 | 21:00 (07:00) | 2026 | Australia | Türkiye | |||
| 10 | Group stage | Sun | 2026-06-14 | 12:00 (20:00) | 2026 | Germany | Curaçao | |||
| 11 | Group stage | Sun | 2026-06-14 | 15:00 (23:00) | 2026 | Netherlands | Japan | |||
| 12 | Group stage | Sun | 2026-06-14 | 19:00 (02:00) | 2026 | Côte d'Ivoire | Ecuador | |||
| 13 | Group stage | Sun | 2026-06-14 | 20:00 (05:00) | 2026 | Sweden | Tunisia | |||
| 14 | Group stage | Mon | 2026-06-15 | 12:00 (22:00) | 2026 | Belgium | Egypt | |||
| 15 | Group stage | Mon | 2026-06-15 | 12:00 (19:00) | 2026 | Spain | Cape Verde | |||
| 16 | Group stage | Mon | 2026-06-15 | 18:00 (04:00) | 2026 | IR Iran | New Zealand | |||
| 17 | Group stage | Mon | 2026-06-15 | 18:00 (01:00) | 2026 | Saudi Arabia | Uruguay | |||
| 18 | Group stage | Tue | 2026-06-16 | 15:00 (22:00) | 2026 | France | Senegal | |||
| 19 | Group stage | Tue | 2026-06-16 | 18:00 (01:00) | 2026 | Iraq | Norway | |||
| 20 | Group stage | Tue | 2026-06-16 | 20:00 (04:00) | 2026 | Argentina | Algeria | |||
| 21 | Group stage | Tue | 2026-06-16 | 21:00 (07:00) | 2026 | Austria | Jordan | |||
| 22 | Group stage | Wed | 2026-06-17 | 12:00 (20:00) | 2026 | Portugal | Congo DR | |||
| 23 | Group stage | Wed | 2026-06-17 | 15:00 (23:00) | 2026 | England | Croatia | |||
| 24 | Group stage | Wed | 2026-06-17 | 19:00 (02:00) | 2026 | Ghana | Panama | |||
| 25 | Group stage | Wed | 2026-06-17 | 20:00 (05:00) | 2026 | Uzbekistan | Colombia | |||
| 26 | Group stage | Thu | 2026-06-18 | 12:00 (19:00) | 2026 | Czechia | South Africa | |||
| 27 | Group stage | Thu | 2026-06-18 | 12:00 (22:00) | 2026 | Switzerland | Bosnia-Herzegovina | |||
| 28 | Group stage | Thu | 2026-06-18 | 15:00 (01:00) | 2026 | Canada | Qatar | |||
| 29 | Group stage | Thu | 2026-06-18 | 19:00 (04:00) | 2026 | Mexico | Korea Republic | |||
| 30 | Group stage | Fri | 2026-06-19 | 12:00 (22:00) | 2026 | United States | Australia | |||
| 31 | Group stage | Fri | 2026-06-19 | 18:00 (01:00) | 2026 | Scotland | Morocco | |||
| 32 | Group stage | Fri | 2026-06-19 | 20:00 (06:00) | 2026 | Türkiye | Paraguay | |||
| 33 | Group stage | Fri | 2026-06-19 | 20:30 (03:30) | 2026 | Brazil | Haiti | |||
| 34 | Group stage | Sat | 2026-06-20 | 12:00 (20:00) | 2026 | Netherlands | Sweden | |||
| 35 | Group stage | Sat | 2026-06-20 | 16:00 (23:00) | 2026 | Germany | Côte d'Ivoire | |||
| 36 | Group stage | Sat | 2026-06-20 | 19:00 (03:00) | 2026 | Ecuador | Curaçao | |||
| 37 | Group stage | Sat | 2026-06-20 | 22:00 (07:00) | 2026 | Tunisia | Japan | |||
| 38 | Group stage | Sun | 2026-06-21 | 12:00 (19:00) | 2026 | Spain | Saudi Arabia | |||
| 39 | Group stage | Sun | 2026-06-21 | 12:00 (22:00) | 2026 | Belgium | IR Iran | |||
| 40 | Group stage | Sun | 2026-06-21 | 18:00 (01:00) | 2026 | Uruguay | Cape Verde | |||
| 41 | Group stage | Sun | 2026-06-21 | 18:00 (04:00) | 2026 | New Zealand | Egypt | |||
| 42 | Group stage | Mon | 2026-06-22 | 12:00 (20:00) | 2026 | Argentina | Austria | |||
| 43 | Group stage | Mon | 2026-06-22 | 17:00 (00:00) | 2026 | France | Iraq | |||
| 44 | Group stage | Mon | 2026-06-22 | 20:00 (03:00) | 2026 | Norway | Senegal | |||
| 45 | Group stage | Mon | 2026-06-22 | 20:00 (06:00) | 2026 | Jordan | Algeria | |||
| 46 | Group stage | Tue | 2026-06-23 | 12:00 (20:00) | 2026 | Portugal | Uzbekistan | |||
| 47 | Group stage | Tue | 2026-06-23 | 16:00 (23:00) | 2026 | England | Ghana | |||
| 48 | Group stage | Tue | 2026-06-23 | 19:00 (02:00) | 2026 | Panama | Croatia | |||
| 49 | Group stage | Tue | 2026-06-23 | 20:00 (05:00) | 2026 | Colombia | Congo DR | |||
| 50 | Group stage | Wed | 2026-06-24 | 12:00 (22:00) | 2026 | Switzerland | Canada | |||
| 51 | Group stage | Wed | 2026-06-24 | 12:00 (22:00) | 2026 | Bosnia-Herzegovina | Qatar | |||
| 52 | Group stage | Wed | 2026-06-24 | 18:00 (01:00) | 2026 | Scotland | Brazil | |||
| 53 | Group stage | Wed | 2026-06-24 | 18:00 (01:00) | 2026 | Morocco | Haiti | |||
| 54 | Group stage | Wed | 2026-06-24 | 19:00 (04:00) | 2026 | South Africa | Korea Republic | |||
| 55 | Group stage | Wed | 2026-06-24 | 19:00 (04:00) | 2026 | Czechia | Mexico | |||
| 56 | Group stage | Thu | 2026-06-25 | 16:00 (23:00) | 2026 | Curaçao | Côte d'Ivoire | |||
| 57 | Group stage | Thu | 2026-06-25 | 16:00 (23:00) | 2026 | Ecuador | Germany | |||
| 58 | Group stage | Thu | 2026-06-25 | 18:00 (02:00) | 2026 | Japan | Sweden | |||
| 59 | Group stage | Thu | 2026-06-25 | 18:00 (02:00) | 2026 | Tunisia | Netherlands | |||
| 60 | Group stage | Thu | 2026-06-25 | 19:00 (05:00) | 2026 | Paraguay | Australia | |||
| 61 | Group stage | Thu | 2026-06-25 | 19:00 (05:00) | 2026 | Türkiye | United States | |||
| 62 | Group stage | Fri | 2026-06-26 | 15:00 (22:00) | 2026 | Norway | France | |||
| 63 | Group stage | Fri | 2026-06-26 | 15:00 (22:00) | 2026 | Senegal | Iraq | |||
| 64 | Group stage | Fri | 2026-06-26 | 18:00 (03:00) | 2026 | Uruguay | Spain | |||
| 65 | Group stage | Fri | 2026-06-26 | 19:00 (03:00) | 2026 | Cape Verde | Saudi Arabia | |||
| 66 | Group stage | Fri | 2026-06-26 | 20:00 (06:00) | 2026 | Egypt | IR Iran | |||
| 67 | Group stage | Fri | 2026-06-26 | 20:00 (06:00) | 2026 | New Zealand | Belgium | |||
| 68 | Group stage | Sat | 2026-06-27 | 17:00 (00:00) | 2026 | Panama | England | |||
| 69 | Group stage | Sat | 2026-06-27 | 17:00 (00:00) | 2026 | Croatia | Ghana | |||
| 70 | Group stage | Sat | 2026-06-27 | 19:30 (02:30) | 2026 | Colombia | Portugal | |||
| 71 | Group stage | Sat | 2026-06-27 | 19:30 (02:30) | 2026 | Congo DR | Uzbekistan | |||
| 72 | Group stage | Sat | 2026-06-27 | 21:00 (05:00) | 2026 | Jordan | Argentina | |||
| 73 | Group stage | Sat | 2026-06-27 | 21:00 (05:00) | 2026 | Algeria | Austria |