Predict the Premier League. Beat your mates. Come back next matchweek.
Matchweek picks, private leagues, season awards, and a banter feed. Guest play stays; World Cup is gone.
| Layer | Tech |
|---|---|
| Frontend | Next.js, TypeScript, Tailwind, Shadcn UI, React Query |
| Backend | ASP.NET Core — feature-based Minimal API (backend/BanterApp.Api) |
| Database | Supabase PostgreSQL + Auth + RLS |
| Hosting | Vercel (frontend), Vercel Functions or Azure (API) |
banterapp/
├── frontend/ # Next.js app
├── backend/ # ASP.NET Core API (BanterApp.Api)
├── supabase/ # SQL migrations & RLS
├── requirement-spec.md
└── .env.example
- Create a project at supabase.com
- Copy
backend/BanterApp.Api/appsettings.Development.json.example→appsettings.Development.json - Fill in
ConnectionStrings:DefaultConnection(session pooler, port 5432) and Supabase keys
Seedocs/BACKEND-CONFIGURATION.mdfor all keys and GitHub deploy secrets. - Apply EF migrations:
.\scripts\run-migrations.ps1
Frontend public vars: copy .env.example → .env / frontend/.env.local (Supabase URL + anon key only).
From the project folder (not backend/ alone):
cd backend/BanterApp.Api
dotnet runOr from the repo root:
.\scripts\run-api.ps1API: http://localhost:5000 — Swagger at /swagger
Troubleshooting
| Error | Fix |
|---|---|
Couldn't find a project to run |
You are in backend/ — use backend/BanterApp.Api or scripts/run-api.ps1 |
did not find dotnet.dll at sdk\10.0.101 |
.NET SDK install is corrupted — reinstall: Download .NET 10 SDK or winget install Microsoft.DotNet.SDK.10 |
framework Microsoft.NETCore.App, version 9.0.0 |
Install .NET 9 runtime, or install the SDK (includes runtime). SDK 10 can build this project via global.json. |
After the API starts, restart the frontend (npm run dev) so /api-backend proxy picks up session routes.
cd frontend
npm install
npm run devApp: http://localhost:3000
- Premier League 2026/27 matchweek predictions (result +3 / exact +7 / double chance +2)
- Perfect matchweek bonus (+5)
- Private leagues ranked across the season
- Season awards (title, top four, relegation, Golden Boot, etc.)
- Anonymous users (cookie + recovery code) with optional account claim
- Sports data: API-Football league
39, season2026(mock provider for local)
- Pundit leaderboard / Me vs Pundits, receipts, Stripe, premium AI, other leagues