Skip to content

Repository files navigation

🎮 iRLeagueApi.Core

Branch Status
main .NET
develop .NET

Live development server: https://irleaguemanager.net/api/swagger

A full backend implementation for the iRLeagueManager service & API - used by the website and clients to manage leagues, schedules, results and more.


Table of contents


Projects

  • 🗄️ iRLeagueDatabaseCore
    Data model driven database structure using EntityFramework & MySQL. Entity models configure table columns and foreign keys. Includes EF migrations for safe upgrades.
  • ⚙️ iRLeagueApiCore.Server
    The backend server executable: API routing, configurations, background services and request handlers.
    • Controllers — ASP.NET Core REST API routing
    • Handlers — Business logic using MediatR
    • Validation — FluentValidation rules for requests & models
    • Filters — Controller attributes for behavior customization
  • 📦 iRLeagueApiCore.Common
    Shared models and DTOs used by server and client.
  • 🧩 iRLeagueApiCore.Client
    Simple .NET client to consume the iRLeagueManager API.

Usage examples - API Client

Register the client service:

services.AddLeagueApiClient();

Resolve and use the client:

var client = serviceProvider.GetRequiredService<ILeagueApiClient>();
var leagues = await client.Leagues().Get();

Log in as an API user:

await client.LogIn("Username", "Password");

Development server / API docs

🚀 The API Swagger UI (development server) is available at: https://irleaguemanager.net/api/swagger

Use the Swagger UI to explore endpoints, models and try requests.


Requirements

  • .NET SDK (check project files for the exact target framework)
  • MySQL or compatible database provider
  • Recommended: use EF Core migrations from iRLeagueDatabaseCore to initialize or update database schema

Contributing

Thanks for considering contributions! Please:

  • Fork the repo
  • Create feature branches
  • Follow existing code style and patterns (MediatR handlers, FluentValidation, etc.)
  • Open PRs against develop for review

License

This project is licensed under the terms provided in the repository (check LICENSE file).


About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages