OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
Football predictions, tips, livescores, fixtures and stats.
Translation pending
Sports & fitnessTypeScript · JavaScriptGitHub @Voclain1Connection unstableOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Full-stack football tips & predictions site built with Next.js 14 (App Router), Prisma, NextAuth,
Tailwind, API-Football, Anthropic Claude, and Paystack.Read the full README ↗Full-stack football tips & predictions site built with Next.js 14 (App Router), Prisma, NextAuth, Tailwind, API-Football, Anthropic Claude, and Paystack.
/)featured, genius, today, banker, vip, premium/api/betslip persists it for logged-in users/dashboard?paid=1; the webhook flips the sub to ACTIVE./admin)PENDING_REVIEW predictions. Approve → Publish → live on the public site.ADMIN_PENDING and approve them to ADMIN.cd betgenius
cp .env.example .env # fill in the values you need
npm install
npm run db:push # creates SQLite dev.db
npm run db:seed # creates the super admin
npm run dev
Open http://localhost:3000 and log in with the SEED_ADMIN_EMAIL / SEED_ADMIN_PASSWORD from .env.
| Var | Where to get it |
|---|---|
DATABASE_URL | SQLite by default. Swap datasource db in prisma/schema.prisma to postgresql for prod. |
NEXTAUTH_SECRET | openssl rand -base64 32 |
API_FOOTBALL_KEY / API_FOOTBALL_HOST | https://www.api-football.com/documentation-v3 |
ANTHROPIC_API_KEY / ANTHROPIC_MODEL | https://console.anthropic.com |
PAYSTACK_PUBLIC_KEY / PAYSTACK_SECRET_KEY | https://dashboard.paystack.com/#/settings/developer |
PAYSTACK_PLAN_VIP / PAYSTACK_PLAN_PREMIUM | Create plans in Paystack, paste their plan codes (currently unused — see below) |
Checkout is one-time, not recurring, for now. This Paystack integration has no active recurring-capable channel, so a plan checkout resolves to zero available channels.
PAYSTACK_PLAN_*is kept configured and unused; see the comment at the top ofsrc/app/api/subscription/initialize/route.tsfor how to restore recurring billing.
Point Paystack's webhook to https://<your-domain>/api/subscription/webhook. Signature is verified with your secret key (HMAC-SHA512).
/admin/payments records and classifies every checkout attempt. See
docs/PAYMENTS_OBSERVABILITY.md — in particular
why a fraud block and a bank decline need different people to act.
| Category | FREE | VIP | PREMIUM | ADMIN |
|---|---|---|---|---|
| Featured / Genius / Today / Banker | ✓ | ✓ | ✓ | ✓ |
| VIP | 🔒 | ✓ | ✓ | ✓ |
| Premium | 🔒 | 🔒 | ✓ | ✓ |
Locked cards render with pick=LOCKED and a subscribe CTA. See src/lib/access.ts.
The brief asked for "99% accurate" predictions. No model can guarantee that, and no honest prediction site should imply it. What this build actually does:
If you want higher accuracy, wire in more signals (xG providers, weather, ref stats) and blend Claude with a domain model. Do not ship a "99%" claim to end users.
datasource db provider to postgresql, run prisma migrate deploy./api/admin/ai since Claude calls are billable.src/
app/
(public)/… public site
admin/… admin dashboard
api/… route handlers
lib/
auth.ts NextAuth config
access.ts tier + role gating
prisma.ts Prisma singleton
football/api-football.ts
ai/claude.ts Claude prompt + JSON parse
paystack/paystack.ts
paystack/verifySignature.ts
components/ Nav, PredictionCard, Providers
prisma/
schema.prisma
seed.ts