OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
FightHub is the ultimate destination for combat sports fans and practitioners. Fighter database, news, rankings, event calendar, Find Clubs, and training tools.
Sports & fitnessJavaScript · HTMLGitHub @caanray786OnlineOwner 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.
Combat sports hub: fighter database, martial arts guides, news, events, rankings, gym finder and training tools.
Opens http://localhost:8000. The admin panel is at /admin/login.html.
The site is a static site with no build step. Vercel is connected to this repository, so every push to main goes live automatically. .vercelignore keeps the SQL, notes and scripts off the public site.Read the full README ↗Combat sports hub: fighter database, martial arts guides, news, events, rankings, gym finder and training tools.
.\start-server.ps1
Opens http://localhost:8000. The admin panel is at /admin/login.html.
The site is a static site with no build step. Vercel is connected to this repository, so every push to main goes live automatically. .vercelignore keeps the SQL, notes and scripts off the public site.
js/config.js decides the mode:
public.admins.js/data-defaults.js. Useful for development; the admin password is fighthub2024.In Dashboard → SQL Editor, run these in order:
supabase/migrations/001_schema.sql: tables, security rules, admin check.supabase/seed.sql: starter content.supabase/002_make_admin.sql with your email.js/config.js. Never use the service_role / secret key there.Free-tier projects pause after about a week without traffic. While paused, the site shows the bundled starter content.
When you change seed content, bump DEFAULT_DATA_VERSION in js/data-defaults.js and regenerate supabase/seed.sql. Local browsers pick up the new defaults on their next visit. Records listed in REMOVED_SEED_IDS are deleted, and records the admin created are kept.
sourceUrl.TBA rather than being guessed.innerHTML goes through escapeHtml() / safeUrl() (defined in js/datastore.js).| Path | What |
|---|---|
*.html | Public pages |
admin/ | Admin CRM pages |
js/datastore.js | Data layer + shared helpers |
js/data-defaults.js | Seed data |
worker/ | AI content worker (Node), run every 4 h by .github/workflows/ai-worker.yml |
supabase/ | Database schema, seed data and admin setup SQL |
images/hero/ | Home page scroll animation frames |
See IMPLEMENTATION_PLAN.md for the roadmap.