Swing Analysis
현지 골프 스윙 분석, 자세·P1‑P6·점수·볼 트레이서
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Plateforme de coaching de glisse (kitesurf, wingfoil, foil, surf, wakeboard au téléski) : vidéos des figures analysées par de vrais coachs, suivi de progression, coach conversationnel IA, cours et Spot Finder.
Toute la logique propre à chaque sport (phases d'une figure, erreurs, roadmap de figures, matériel, niveaux, type de spot) est dans src/lib/sports.ts. Un rider peut pratiquer plusieurs sports, avec un niveau et un matériel par sport (profiles.sports, levels, gear) ; le sélecteur en haut de l'appli change le sport actif. Les analyses, la progression, le programme et le coach sont filtrés par sport. Le « foil » désigne le kitefoil.
Stack : Next.js 15 (App Router) · Supabase (auth, Postgres, stockage) · Stripe (abonnements) · Claude d'Anthropic (coach conversationnel, programmes) · Open-Meteo (vent) · Leaflet + OpenStreetMap (carte) · Resend (alertes e-mail) · Vercel.
analyse-uploader.tsx).clips, puis l'analyse entre dans la file des coachs (statut en-attente). Les coachs du sport sont prévenus par e-mail. Un envoi raté n'est pas décompté ; tant qu'aucun coach ne l'a prise, le rider peut retirer sa vidéo et récupérer son analyse./espace-coach), un coach prend la vidéo (en-cours), la regarde avec le profil du rider et ses derniers retours, puis remplit le rapport : note, résumé, phases, erreurs classées dans la taxonomie fixe (errorsFor dans src/lib/sports.ts), points forts, exercices, priorité de la prochaine session, alerte sécurité. Il peut aussi la rendre à la file.termine), le rider reçoit un e-mail ; erreurs et figure alimentent sa progression comme avant.REVIEW_DELAY_HOURS (src/lib/plans.ts).Coachs : dans Admin → Utilisateurs, coche « Coach » et les sports qu'il analyse (aucun coché = tous). L'admin a toujours accès à l'espace coach.
Erreurs récurrentes (et leur tendance en Elite), priorités pour la prochaine session, suivi figure par figure (tentatives, meilleure note, courbe en Elite), roadmap de 15 figures, programme personnalisé de 3 à 5 sessions (Elite, 1 par 24 h), coach conversationnel qui connaît l'historique.
Pour chaque spot du sport actif dans le rayon choisi, sur 7 jours, avec carte :
Logique dans src/lib/wind.ts. Spots favoris ; alertes par e-mail pour Elite (tâche quotidienne vercel.json). Chaque spot a une liste sports ; les téléskis s'ajoutent dans Admin → Spots (plan d'eau « Lac », sport Wakeboard).
La page publique /week-end classe les spots par sport : vent prévu pour kite, wing et foil, houle pour le surf.
supabase/migrations/ dans l'ordre (0001 à 0004), puis supabase/seed_spots.sql (61 spots de vent et 19 spots de surf ; pas de téléski).https://TON-DOMAINE/auth/callback (et http://localhost:3000/auth/callback) dans Redirect URLs.anon, clé service_role.is_admin à true sur ton compte.Les coordonnées et orientations des spots sont approximatives : vérifie-les et corrige-les dans Admin → Spots avant le lancement.
price_….https://TON-DOMAINE/api/stripe/webhook, événements checkout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted.Copie .env.example en .env.local, remplis tout, et mets les mêmes variables dans Vercel → Settings → Environment Variables (avec un CRON_SECRET aléatoire).
npm install
npm run dev
Paiements en local : stripe listen --forward-to localhost:3000/api/stripe/webhook.
Importe le repo dans Vercel, ajoute les variables, déploie, puis mets à jour les URL Supabase et le webhook Stripe avec le domaine final. La tâche d'alertes vent est déclarée dans vercel.json.
/mentions-legales, /cgu, /confidentialite et faire relire les pages légales.src/lib/ai.ts si besoin.src/
app/(site)/ public : accueil, tarifs, cours, week-end, auth, légal
app/(app)/ espace membre : dashboard, analyse, historique, progression, coach, spots, profil, compte, admin
app/api/ analyses, coach, checkout, portail, webhook Stripe, cron alertes vent
lib/ ai (prompts + coûts), plans, usage (quotas), progress, wind (Spot Finder), weather, frames (vidéo)
components/ UI (découpe vidéo, carte, formulaires…)
supabase/ schéma SQL et spots de départ