TirsvadCLI DotNet.Lib.AuthenticationServer

Github repository

Documentation

    README

    Build Status NuGet Downloads Contributors Forks Stargazers Issues License LinkedIn

    TirsvadCLI Authentication Server Library

    Overview

    TirsvadCLI Authentication Server is a .NET 10+ authentication server library implementing Clean Architecture. It supports local, network, and cloud deployment (Azure/AWS), and is ready for containerization with Docker.

    Project Structure

    • src/ — Source code
      • TirsvadCLI.AuthenticationServer.Domain — Domain entities and rules
      • TirsvadCLI.AuthenticationServer.Core — Application logic, CQRS, services
      • TirsvadCLI.AuthenticationServer.Infrastructure — Data access, external services
      • TirsvadCLI.AuthenticationServer.Api — ASP.NET Core Web API
    • tests/ — Unit and integration tests (mirrors main projects, uses .Test/.Tests suffix)
    • docs/ — Documentation (Markdown, Doxygen config in Doxyfile)
    • LocalNuget/ — Local NuGet packages

    Build & Run

    1. Build:
      dotnet build TirsvadCLI.AuthenticationServer.slnx
      
    2. Test:
      dotnet test TirsvadCLI.AuthenticationServer.slnx
      
    3. Run (API):
      dotnet run --project src/TirsvadCLI.AuthenticationServer.Api
      

    Solution-wide MSBuild props/targets are used for consistent builds.

    Docker

    Containerization is supported via docker-compose.yml and Dockerfile.

    Key Dependencies & Patterns

    • MediatR (CQRS pattern)
    • Microsoft Identity (authentication/authorization)
    • EF Core (data access)
    • FluentValidation (validation)
    • AutoMapper (object mapping)
    • Swashbuckle/Swagger (API documentation)
    • xUnit (testing)
    • TirsvadCLI.AuthenticationServer (business logic)

    All NuGet dependencies are managed via Directory.Packages.props with <PackageReference Include="..." /> (no Version attribute in project files).

    Documentation

    • See docs/ for guides and API reference (Markdown).
    • API documentation is generated using Doxygen (Doxyfile in root).

    Contributing

    • Follow Clean Architecture principles.
    • Place tests in tests/, mirroring main projects and using .Test/.Tests suffix.
    • Use solution-wide MSBuild props/targets.
    • Adhere to naming and folder conventions.

    License

    See LICENSE file for details.