Releases: salah23222/worldcup2026
Releases Β· salah23222/worldcup2026
v1.3.0 β Referrals, Password Reset, French i18n & Marketing Kit
π― New Features
- Referrals system β personal
/?ref=links with anti-abuse caps (5/day, 50 lifetime) - Password reset flow β signed tokens, 1h single-use, auto-login on success
- Marketing kit (
/promote.php) β 12 ready-to-share templates Γ 6 platforms with direct share buttons - Welcome email sent on registration
- French i18n scaffolding β 60+ strings, cascade fallback to English (community contribution by @sibylassana95 πΈπ³)
π‘οΈ Security & Hardening
- Admin panel: bcrypt password hashing, idle timeout, audit log, email notifications
- Proxy-aware HTTPS detection (fixes Hostinger CDN redirect loop)
- Dynamic OG image replacing static
og.png - PWA install banner re-shows after 14 days
β‘ Performance
LIVE_CACHE_TTL60β120s (halves API-Football consumption)- Visitor counter DB-backed (survives file uploads)
- Instant lineup display β no more time-gate
- Auto-hashtags on social share (
#WeAre26 #FIFAWorldCup26)
π Fixes
- Countdown matches homepage timer exactly (floor vs ceil)
ποΈ Database
3 new lazy-created tables: referrals, password_resets, site_counters
Full changelog: v1.0.0...v1.3.0
v1.0.0 β World Cup 2026 Companion
π First public release of World Cup 2026 Companion β an open-source, bilingual (Arabic/English) companion site for the FIFA World Cup 2026.
β¨ Highlights
- π Matches & standings β fixtures, live-style scores, group tables, knockout bracket
- π― Predictions game β predict scores, earn points, climb a global leaderboard (no login required)
- π₯ Private leagues β create a league, share a code, compete with friends & family
- π³οΈ Quick 1X2 polls, stickers album, daily trivia
- π€ AI match previews (Arabic, dialect-aware) via Claude β optional
- π° News, stadium & host-city map, fan guide
- π± Installable PWA with full offline mode
- π Fully bilingual (Arabic/English) with RTL/LTR, SEO & sitemap
π§± Tech
- Plain PHP 8 β no framework, no build step, no Composer
- No database required β runs on the public-domain openfootball dataset + disk cache (MySQL optional, accounts only)
- Vanilla JS + a single CSS file; runs on any PHP host
- One command with Docker:
docker compose up - Public, CORS-enabled, key-free JSON API β see docs/API.md
π Get started
git clone https://github.com/salah23222/worldcup2026.git
cd worldcup2026
docker compose up # β http://localhost:8080π Links
- π Live demo: https://wcup2026.org
- π API reference: docs/API.md
- π License: MIT
β If you find it useful, a star really helps!