OpenAthlete
AGPLv3 endurance training platform: EU-oriented hosting, transparent CTL/ATL/TSB logic in code, self-hosting, and full export. Built in Grenoble.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Турнир прогнозов к Чемпионату мира 2026. Стек: React + Vite + Supabase. Через GitHub 1. Запушь проект в GitHub-репозиторий. 2. Открой vercel.com → New Project → выбери репозиторий. 3. Vercel автоматически определит Vite. Настройки по умолчанию правильные: • Framework: Vite • Build command: npm run build • Output directory: dist 4. Нажми Deploy. Переменные хранятся прямо в src/App.jsx (константы SUPABASE_URL и SUPABASE_KEY). Для production рекомендуется вынести в .env: Плей-офф, бонусы и рейтинг третьих мест — секции внутри «Отправить прогноз», не отдельные вкладки.查看完整 README ↗
Турнир прогнозов к Чемпионату мира 2026. Стек: React + Vite + Supabase.
# 1. Установить зависимости
npm install
# 2. Запустить локально
npm run dev
# → http://localhost:5173
# 3. Собрать продакшн-билд
npm run build
# → папка dist/
# 4. Превью билда локально
npm run preview
npm i -g vercel
vercel
npm run builddistffc-app/
├── index.html # точка входа
├── vite.config.js # конфиг Vite
├── vercel.json # SPA rewrites
├── package.json
├── public/
│ └── favicon.svg
└── src/
├── main.jsx # рендер React root
└── App.jsx # всё приложение (v6)
Переменные хранятся прямо в src/App.jsx (константы SUPABASE_URL и SUPABASE_KEY).
Для production рекомендуется вынести в .env:
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_KEY=eyJ...
И в коде заменить на:
const SUPABASE_URL = import.meta.env.VITE_SUPABASE_URL;
const SUPABASE_KEY = import.meta.env.VITE_SUPABASE_KEY;
| Вкладка | Кто видит |
|---|---|
| Отправить прогноз | все |
| Таблица лидеров | все |
| ⚙ Админ | только admin |
Плей-офф, бонусы и рейтинг третьих мест — секции внутри «Отправить прогноз», не отдельные вкладки.