PathfinderHonorManager/hosts the ASP.NET Core API. Key areas:Controllers/,Service/,DataAccess/,Model/,Dto/,Validators/,Healthcheck/,Migrations/,Swagger/,Mapping/, andConverters/.PathfinderHonorManager.Tests/contains NUnit tests plus test helpers and seeders.- Configuration lives in
PathfinderHonorManager/appsettings.json,PathfinderHonorManager/appsettings.Development.json, andPathfinderHonorManager/Properties/launchSettings.json.
dotnet build PathfinderHonorManager.slnbuilds the solution.dotnet run --project PathfinderHonorManagerruns the API locally.dotnet test PathfinderHonorManager.Tests/PathfinderHonorManager.Tests.csprojruns the test suite.dotnet ef migrations add DescriptiveMigrationName --project PathfinderHonorManagercreates a migration.dotnet ef database update --project PathfinderHonorManagerapplies migrations (seeEF_MIGRATIONS_README.mdfor baseline setup).
- Follow C# conventions: 4-space indentation; PascalCase for types and public members; camelCase for locals and parameters.
- Interfaces use the
I*prefix (for example,IHonorService). - File/class naming mirrors feature type:
*Controller,*Service,*Validator,*Dto. - Validators use FluentValidation and live in
PathfinderHonorManager/Validators.
- NUnit is the primary framework; tests live in
PathfinderHonorManager.Testsand use[Test]/[TestCase]. - Name test files and classes with a
*Testssuffix (for example,HonorsControllerTests.cs). - Prefer in-memory EF providers or seeded helpers (
Helpers/DatabaseSeeder.cs) for data setup.
- Recent commits use short, imperative sentence-case summaries (for example, "Fix SonarQube issues", "Add background worker...").
- Keep commits focused on a single change set.
- PRs should include: a clear description, testing notes/commands run, migration impacts (if any), and any required configuration or env var changes.
- Required env vars include
PathfinderCSand Auth0 settings (Auth0:Domain,Auth0:Audience,Auth0:ClientId). - The baseline migration is tracked in
PathfinderHonorManager/Migrations; followEF_MIGRATIONS_README.mdfor local setup and safe rollback steps. - Health endpoints are available at
/health,/health/ready, and/health/live.