Card Game App

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
Card Game App - Image 1

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