Project case study
Modular .NET Game Services Platform
Personal multi-API .NET platform with admin UI
.NETASP.NET CoreEF CoreReactTypeScriptDocker
Summary
Quick overview
Personal modular .NET web platform with separate admin, runtime, and web-facing APIs, EF Core persistence, and a Vite React/TypeScript admin frontend.
Personal project. Source code or private walkthrough available on request.
Architecture
Admin and runtime separation
Admin UI
React / TypeScript dashboard
Admin API
Auth, users, roles, game config
Runtime API
API-key protected runtime endpoints
Persistence
EF Core, migrations, SQL-backed data
Problem
What needed to be solved
A personal mono-repo project for managing game-related services, administration workflows, runtime APIs, persistence, and a frontend admin interface.
Implementation
What I worked on
Designed and implemented the platform structure across API projects, application services, domain/core layers, EF Core persistence, configuration, local development setup, and admin frontend integration.
Technical decisions
Responsibilities, systems, and engineering trade-offs
- Separate Admin API, Runtime API, and Web API projects
- Application, Core, Persistence, and Shared layers for clearer ownership boundaries
- Tenant-aware data separation using tenant identifiers and protected admin operations
- JWT authentication with refresh token rotation for admin access
- Authentication, users, roles, and admin access management
- API key management for runtime-facing integrations
- Game configuration workflows and admin dashboard functionality
- EF Core DbContext, database migrations, and SQL-backed persistence
- API key protected runtime endpoints and admin-oriented backend functionality
- Vite React/TypeScript admin UI connected to backend APIs
- Docker Compose-based local dependencies such as database and object storage
Result
Result and value
Demonstrates end-to-end .NET platform design, modular backend structure, persistence setup, local infrastructure thinking, and admin UI integration outside client work.
What I learned
Practical takeaway
Separating admin, runtime, persistence, and application layers makes a platform easier to extend without mixing concerns.