Papy's Challenges
Plateforme web e-sport communautaire permettant aux joueurs, équipes et organisateurs de gérer profils, recrutement, matchs d'entraînement (pracc) et tournois complets — avec authentification Discord, bot intégré et interface bilingue FR/EN.
Voir le siteProblème adressé
Les organisateurs et équipes e-sport s'appuient souvent sur des tableurs, des salons Discord et des outils disparates. Le projet propose une plateforme dédiée : identité de joueur, vie d'équipe, recherche de partenaires d'entraînement, et cycle de vie complet d'un tournoi — du règlement à la phase finale.
Fonctionnalités principales
- Authentification Discord — connexion OAuth, sessions sécurisées, profils liés au compte Discord
- Profils joueurs — fiche publique, jeux / rangs, highlights, recherche de team (LFT)
- Équipes & structures — création, logos, roster, invitations, candidatures, recrutement
- Tournois — création et édition, phases, inscriptions, matches, scores par map, map ban, litiges
- Intégration Discord poussée — bot dédié, salons vocaux, messages automatisés, tickets staff
- Pracc — demandes et propositions de matchs d'entraînement entre équipes
- Espace staff — jeux, maps, rangs, sponsors, livre d'or, monitoring, configuration Discord
- i18n FR / EN — interface entièrement traduite
- Pages communautaires — livre d'or, partenaires, contact, CGU / mentions légales
Stack technique
| Front / app | SvelteKit 2, Svelte 5 (runes), TypeScript, Tailwind CSS 4 |
|---|---|
| Design | Charte Gilded Arena (ink / gold / copper / cream) |
| Données | Prisma 6 + MySQL |
| Auth & bot | OAuth Discord + bot Node.js (processus séparé) |
| Tests | Vitest |
| Prod | adapter-node, PM2 (cluster), reverse proxy nginx / Cloudflare |
Architecture & qualité
- Routes SvelteKit fines : logique métier dans src/lib/server/ (pas dans les pages)
- Mutations via form actions ; API REST réservée aux webhooks / AJAX / uploads
- Déploiement VPS sans Docker, migrations Prisma, secrets chiffrés en base
- Sécurité : sessions, allowlist IP pour webhooks internes, purge de comptes, WAF Cloudflare
Rôle dans le projet
Conception et développement full-stack d'une plateforme e-sport de production : modélisation domaine (tournois, équipes, Discord), UX compétitive, i18n, bot Discord, et mise en production (PM2, reverse proxy, opérations).