BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
Plateforme de gestion des licences de la Fédération Sénégalaise de Gymnastique.
Translation pending
Sports & fitnessTypeScript · JavaScriptGitHub @gitamadoudieneOnlineOwner 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.
FSG Gestion — Plateforme de gestion des licences Plateforme de gestion des licences sportives pour la Fédération Sénégalaise de Gymnastique (FSG). Voir ARCHITECTURE.md pour l'architecture technique, DECISIONS.md pour la justification des choix techniques, et DESIGN_SYSTEM.md pour l'identité visuelle. Next.js 16 (App Router, TypeScript) · PostgreSQL · Prisma · Auth.js · Tailwind CSS + shadcn/ui. Renseigner DATABASE_URL dans .env avec une base PostgreSQL (Neon, Supabase, ou instance locale). Générer AUTH_SECRET avec openssl rand -base64 32.Read the full README ↗
Plateforme de gestion des licences sportives pour la Fédération Sénégalaise de Gymnastique (FSG).
Voir ARCHITECTURE.md pour l'architecture technique, DECISIONS.md pour la justification des choix techniques, et DESIGN_SYSTEM.md pour l'identité visuelle.
Next.js 16 (App Router, TypeScript) · PostgreSQL · Prisma · Auth.js · Tailwind CSS + shadcn/ui.
npm install
cp .env.example .env
Renseigner DATABASE_URL dans .env avec une base PostgreSQL (Neon, Supabase, ou instance locale).
Générer AUTH_SECRET avec openssl rand -base64 32.
npm run db:migrate # applique les migrations (crée la base au premier lancement)
npm run db:seed # données de démonstration (comptes, clubs, disciplines, saison)
Le script de seed affiche les identifiants des comptes de démonstration créés (un par rôle).
npm run dev
Application disponible sur http://localhost:3000.
En développement/self-host sans scheduler externe :
npm run worker
En production avec un scheduler externe (cron système, Vercel Cron, GitHub Actions), appeler
POST /api/cron/expire-licenses avec l'en-tête Authorization: Bearer <CRON_SECRET>.
npx tsc --noEmit # typecheck
npx eslint . # lint
npm run build # build de production
Voir ARCHITECTURE.md §14 pour les options recommandées (VPS + Docker, ou Vercel + Neon + R2).