Getting started

Prerequisites

Use the root CODE.com.sln. The web project and xUnit test project target net10.0; install the .NET 10 SDK and an IDE that supports it. The web project enables implicit usings, disables nullable analysis, and sets LangVersion to latest. Do not use the older solution inside CODE.com as the main entry point.

Restore requires access to the feeds that contain EPS.Thessaly.* packages. Running data-backed pages additionally requires service configuration, network access, and appropriate credentials. A successful build does not prove backend connectivity.

Build and run

Run from the repository root:

dotnet restore CODE.com.sln
dotnet build CODE.com.sln --no-restore
dotnet test CODE.com.sln --no-build
dotnet run --project CODE.com/CODE.com.csproj --launch-profile https

The checked-in HTTPS profile uses https://localhost:7047 and http://localhost:5049, with ASPNETCORE_ENVIRONMENT=Development. The HTTP profile uses port 5049. Trust the standard ASP.NET development certificate if HTTPS requires it. No special debugger exception settings should be necessary for expected application behavior.

Configuration bridge

The checked-in JSON section is named ApplicationSettings. Program.cs passes configuration to ApplicationSettingsJsonHelper.GetDictionaryFromSection, inserts the resulting dictionary into CODE Framework configuration, and applies root-level ASP.NET configuration overrides for keys in that dictionary. The startup comment calls the section AppSettings; use the actual checked-in JSON when locating settings.

New settings must exist in the base dictionary for the root override loop to recognize them. Keep credential values in approved local secrets or deployment configuration. Do not copy a complete settings file or service credential into documentation or diagnostic output.

For a process-local experiment:

$env:SiteMode = 'Magazine'
$env:StyleMode = '2027'
dotnet run --project CODE.com/CODE.com.csproj --launch-profile https

Remove those environment overrides or set them to the desired values when finished. The checked-in defaults remain Magazine and 2021. User secrets are another supported root-level override source:

dotnet user-secrets set "StyleMode" "2027" --project CODE.com/CODE.com.csproj

Restart after changing either mode. SiteMode selects process-wide site behavior; StyleMode independently selects styles. Numeric 2021/2027 and case-insensitive defined style enum names work. Undefined style values fail startup.

First useful checks

Open a page from the selected deployment, an article or blog post, the navigation at a narrow width, and /My/GeneralInfo while signed out. Start with a page whose dependencies you can reach. Standard and Group route registration load consulting slugs from a remote service during startup, so a consulting-service outage can prevent startup before the browser opens.

Use approved test environments and accounts before exercising registration, inquiries, subscriptions, payments, downloads that log activity, or email actions. Even an article image request can save a recovered PNG to the backend; see services and images.

Source references