A full-stack card-games platform (Solitaire & War) with secure user accounts, a live leaderboard, and a REST API. The backend is ASP.NET Core/C# with SQL Server (Azure) and the frontend is React.
ASP.NET CoreC#ReactSQL ServerAzureEF CorexUnit
Project Background
I focused on building a comprehensive full-stack web application that demonstrates clean domain logic for game rules, robust data access patterns, and defensive security practices. The goal was to create a platform that showcases proper separation of concerns across Controllers → Accessors → Engine layers while implementing secure authentication and REST API design.
What I Did
Implemented user authentication and parameterized SQL queries to mitigate SQL injection
Built HTTP REST API using ASP.NET Core controllers for Auth and Leaderboard with JSON endpoints consumed by React client
Designed data layer with SQL Server, thin Accessor classes (UserAccessor, GameAccessor, LeaderboardAccessor), and EF Core AppDBContext
Created comprehensive xUnit unit tests for deck/pile behavior and game rules (52 vs 54 cards with jokers, face-up state, legal moves)
Developed C# domain classes (Deck, Pile, SolitaireRules, WarRules) separating game logic from I/O for easier testing and reuse
Built leaderboard system that aggregates wins per user/game and returns Top 5 via API endpoint
Created React frontend with Router for Register, Login, Home, Solitaire, War, and Waiting Room pages