11

LoL Custom 5v5 Platform

Backend platform for managing custom League of Legends 5v5 games, player data and balanced team generation.

🚧 Work in Progress
This project is currently under active development. Features and architecture are still evolving.


LoL Custom 5v5 Platform is a full-stack platform designed to organize and manage custom League of Legends 5v5 games.

The application provides a central place to manage players, their ranked information, game history and team composition. Players can be registered with their current rank and MMR, while the platform uses this information to generate balanced teams.

Features

  • Player management and ranked information
  • Match history tracking
  • MMR-based team generation
  • Balanced team composition
  • Riot Games API integration
  • REST API for backend operations
  • PostgreSQL persistence
  • Dockerized development environment

Architecture

The backend is implemented with C# and ASP.NET Core and exposes REST endpoints consumed by the frontend.

Player and match data are stored in PostgreSQL, with Entity Framework Core handling persistence and database access.

The frontend is built with React and TypeScript and provides the interface used to manage players and generate teams.

The application is containerized with Docker, making the development environment reproducible and isolating the database from the host system.

Team Generation

The team generation system uses player MMR to distribute players between the two teams while keeping the overall team strength as balanced as possible.

The application also integrates with the Riot Games API to retrieve ranked information and keep player data consistent with their League of Legends profile.

Technologies

  • Backend: C#, ASP.NET Core, Entity Framework Core
  • Database: PostgreSQL
  • Frontend: React, TypeScript
  • Infrastructure: Docker
  • API: Riot Games API

The project is primarily focused on backend development, API design, data modeling and building a complete application from the backend to the user interface.