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。 以下為已儲存的摘錄。
Sistema de Regatas — Club Náutico Bariloche Aplicación web para la Comisión de Vela y Motor del CNB: calendario de regatas, generación de Avisos de Regata e Instrucciones de Regata conformes al Apéndice J del RRV 2025-2028, inscripciones en línea por link/QR, carga de llegadas y cálculo automático de resultados (Sistema de Puntuación Baja del Apéndice A + handicap PHRF Tiempo sobre Tiempo). Stack: HTML/CSS/JS sin build + Supabase (Postgres + Auth + RLS) + Vercel. Mismo esquema de trabajo que el Registro de Flota de la Escuela de Vela.檢視完整 README ↗
Aplicación web para la Comisión de Vela y Motor del CNB: calendario de regatas, generación de Avisos de Regata e Instrucciones de Regata conformes al Apéndice J del RRV 2025-2028, inscripciones en línea por link/QR, carga de llegadas y cálculo automático de resultados (Sistema de Puntuación Baja del Apéndice A + handicap PHRF Tiempo sobre Tiempo).
Stack: HTML/CSS/JS sin build + Supabase (Postgres + Auth + RLS) + Vercel. Mismo esquema de trabajo que el Registro de Flota de la Escuela de Vela.
| Archivo | Función |
|---|---|
index.html + js/publico.js | Portal público: calendario, ficha de evento, aviso, instrucciones, inscriptos y resultados. Sin login. |
inscripcion.html + js/inscripcion.js | Formulario público de inscripción (link o QR). Sin login. |
admin.html + js/admin.js | Panel de la Comisión. Login por magic link. |
js/scoring.js | Motor de cálculo: tiempo corregido y puntajes del Apéndice A del RRV. |
js/docs.js | Generadores de Aviso de Regata (J1) e Instrucciones de Regata (J2). |
js/db.js | Cliente Supabase y utilidades (fechas, CSV, ICS, impresión). |
supabase/schema.sql | Esquema completo con Row Level Security. |
config.js | Único archivo a editar antes del deploy. |
Test del motor de puntajes: node js/scoring.test.js (32 verificaciones).
Corrección de tiempos (configurable por clase dentro de cada evento):
| Sistema | Fórmula | Uso |
|---|---|---|
monotipo | sin corrección | Optimist, ILCA, Snipe, Pampero |
tot_phrf | TC = TR × TCF, con TCF = B / (A + Rating) — por defecto A=550, B=650 | Cruceros CNB |
tot_factor | TC = TR × Factor | Estilo IRC (TCC declarado) |
tod | TC = TR − (Rating[s/MN] × Distancia[MN]) | Tiempo sobre Distancia clásico |
Con A=550 y B=650, un barco de rating 100 tiene TCF = 1,000. Bajar A endurece la corrección
entre barcos de ratings dispares; subirlo la suaviza. Ambos valores se editan por clase y por evento.
Puntaje — Apéndice A del RRV 2025-2028:
DNE y DGM no son descartables; el resto sí.regatas-cnb · Región: South America (São Paulo) · guardar la contraseña de la base.supabase/schema.sql → Run.
Debe terminar con Success. No rows returned. El script es idempotente: se puede volver a correr.config.js como SUPABASE_URLconfig.js como SUPABASE_ANON_KEYLa
anon keyes pública por diseño. La seguridad la da el RLS. Nunca pegar laservice_role.
config.jswindow.CNB_CONFIG = {
SUPABASE_URL: 'https://xxxxxxxxxxxx.supabase.co',
SUPABASE_ANON_KEY: 'eyJhbGciOi...',
...
};
El script ya deja habilitado [email protected] como admin. Para el resto:
Table Editor → usuarios_autorizados → Insert row (email, nombre, rol comision), o desde el
propio panel una vez que ingrese el admin (Configuración → Usuarios habilitados).
Roles: admin (todo, incluye usuarios) · comision (eventos y resultados) · oficial (llegadas) ·
secretaria (inscripciones y cobros).
Con Claude Code, desde la carpeta del proyecto, usar el prompt de
prompt_claude_code_deploy.md. Resumen de lo que hace:
git init && git add -A && git commit -m "Sistema de regatas CNB"
gh repo create regatas-cnb --public --source=. --push
vercel --prod
Volver a Supabase → Authentication → URL Configuration:
https://regatas-cnb.vercel.app (la URL que devuelva Vercel)https://regatas-cnb.vercel.app/**Sin esto, el magic link redirige a localhost y el panel no abre.
borrador.inscripcion_abierta (selector arriba a la derecha).pendiente. En «Inscripciones» se verifica seguro,
licencia y pago, se ajusta el rating y se confirma. Exportar CSV y Lista de largada
imprimible (con TCF calculado y columnas de control de salida y regreso).finalizado. Los resultados quedan públicos en el portal.insc_insert_publico sólo admite el alta
cuando el evento está en inscripcion_abierta y dentro del plazo, y sólo en estado pendiente.
El anónimo no puede leer ni editar inscripciones: la lista pública sale de la vista
v_inscriptos_publico, que no expone DNI, email, teléfono ni datos de seguro.codigo_flota de la inscripción admite el código
CNB del barco (OPT-C-001), para cruzar con el sistema de trazabilidad de la Escuela de Vela.assets/logo-cnb.png es el escudo oficial del Club (edicion 80 anios, 1947-2027),
recortado y con fondo transparente para que se vea bien sobre el azul del encabezado.assets/favicon.ico (16/32/48), assets/favicon-32.png y
assets/apple-touch-icon.png (180, pantalla de inicio de iOS) salen del mismo escudo, sobre
fondo blanco: en transparente el azul del escudo se pierde contra las pestanias en modo oscuro.
Si se cambia el logo hay que regenerarlos los tres.