About this project
BoardGames is a fully functional web app for playing real-time multiplayer board games, and also serves as a sample for ActualLab.Fusion. It runs on .NET 10, ASP.NET Core with Blazor Server and WebAssembly, EF Core, and Blazorise. A live demo is available at boardgames.actuallab.net.
The project is generated and kept up to date with Claude Code, and the full interaction log is stored in docs/ai-sessions/.
Implemented features:
- Five games: Gomoku, Tic-Tac-Toe, Connect Four, Reversi, and Rock-Paper-Scissors, with a common base API for adding new games.
- Game lobby to track games you participate in, browse open games, and join them.
- Game chat with mentions, using an extendable message parser and modular renderer.
- User online/offline status tracking, shown on every user badge.
- User profile page to edit your name, add Microsoft/GitHub accounts, view browser sessions, kick sessions, or sign out everywhere.
- Full state persistence to any EF Core-supported database.
- Fusion RPC over WebSockets for Blazor WebAssembly mode.
The sample supports both Blazor Server and Blazor WebAssembly modes. Real-time state synchronization works throughout the app; opening it in two browsers with different accounts lets you see game lists, moves, chat messages, and user name changes update live.
The live version runs on a single free-tier Arm VM in Oracle Cloud, sharing the host with other Fusion samples. A Caddy container handles TLS and reverse-proxies subdomains, with Cloudflare in front. PostgreSQL runs in Docker with data persisted to a host folder, and EF Core migrations are applied on startup. The stack uses Docker Compose and is auto-redeployed by a systemd timer polling main, without CI/CD services or webhooks.
The README notes that real-time updates required only about 50 extra lines of code, mostly invalidation logic. The author states the app was built single-handedly in 9 days. For more on Fusion, see the Fusion repository and its other samples, or join the Discord server. Bugs can be reported via GitHub issues.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.