À propos du projet

BoardGames est une application web entièrement fonctionnelle pour jouer à des jeux de société multijoueur en temps réel, et sert également d'exemple pour ActualLab.Fusion. Elle fonctionne sur .NET 10, ASP.NET Core avec Blazor Server et WebAssembly, EF Core et Blazorise. Une démo en direct est disponible sur boardgames.actuallab.net. Le projet est généré et maintenu à jour avec Claude Code, et le journal complet des interactions est stocké dans docs/ai-sessions/. Fonctionnalités implémentées : - Cinq jeux : Gomoku, Tic-Tac-Toe, Puissance 4, Reversi et Pierre-Feuille-Ciseaux, avec une API de base commune pour ajouter de nouveaux jeux. - Salon de jeux pour suivre les parties auxquelles vous participez, parcourir les parties ouvertes et les rejoindre. - Chat de jeu avec mentions, utilisant un analyseur de messages extensible et un moteur de rendu modulaire. - Suivi du statut en ligne/hors ligne des utilisateurs, affiché sur chaque badge utilisateur. - Page de profil utilisateur pour modifier votre nom, ajouter des comptes Microsoft/GitHub, consulter les sessions de navigateur, révoquer des sessions ou se déconnecter partout. - Persistance complète de l'état vers toute base de données prise en charge par EF Core. - Fusion RPC sur WebSockets pour le mode Blazor WebAssembly. L'exemple prend en charge les modes Blazor Server et Blazor WebAssembly. La synchronisation de l'état en temps réel fonctionne dans toute l'application ; en l'ouvrant dans deux navigateurs avec des comptes différents, vous pouvez voir les listes de jeux, les coups, les messages de chat et les changements de nom d'utilisateur se mettre à jour en direct. La version en direct s'exécute sur une seule VM Arm de niveau gratuit dans Oracle Cloud, partageant l'hôte avec d'autres exemples Fusion. Un conteneur Caddy gère le TLS et fait office de reverse-proxy pour les sous-domaines, avec Cloudflare en amont. PostgreSQL s'exécute dans Docker avec les données persistées dans un dossier hôte, et les migrations EF Core sont appliquées au démarrage. La pile utilise Docker Compose et est redéployée automatiquement par un minuteur systemd qui surveille la branche main, sans services CI/CD ni webhooks. Le README note que les mises à jour en temps réel n'ont nécessité qu'environ 50 lignes de code supplémentaires, principalement de la logique d'invalidation. L'auteur indique que l'application a été construite seul en 9 jours. Pour en savoir plus sur Fusion, consultez le dépôt Fusion et ses autres exemples, ou rejoignez le serveur Discord. Les bugs peuvent être signalés via les issues GitHub.