REST API backend for PolyPoly, a multiplayer Monopoly-inspired game built in Unity made for a school project.
- ASP.NET Core — REST API
- Entity Framework Core — ORM, code-first migrations
- MySQL — database
- ASP.NET Identity — user management with custom UserStore and RoleStore
- AutoMapper — entity mapping
- Docker — containerization
- Registration and login via ASP.NET Identity
- Game save and player statistics management
- Lootbox system with configurable item probabilities
- Item and preset management
- Rate limiting on authentication endpoints
- Custom authorization policy (resource owner)
Create a .env file in the root directory with the following variables:
ADMIN_PASSWORD=your_admin_password
MYSQL_USER=your_mysql_user
MYSQL_PASSWORD=your_mysql_password
MYSQL_ROOT_PASSWORD=your_mysql_root_passwordThen run with Docker Compose:
docker-compose upAPI runs at http://localhost:5000.
Or locally (with MySQL running):
cd ITUBackend.API
dotnet runITUBackend.API/
├── Controllers/ # API endpoints
├── Services/ # Business logic
├── Entities/ # Database models
├── Models/ # DTOs
├── Authorization/ # Custom authorization policies
├── Stores/ # Custom Identity stores
├── MapperProfiles/ # AutoMapper profiles
└── Migrations/ # EF Core migrations