TECHIS.EndApps.Games
0.1.1
Prefix Reserved
See the version list below for details.
dotnet add package TECHIS.EndApps.Games --version 0.1.1
NuGet\Install-Package TECHIS.EndApps.Games -Version 0.1.1
<PackageReference Include="TECHIS.EndApps.Games" Version="0.1.1" />
<PackageVersion Include="TECHIS.EndApps.Games" Version="0.1.1" />
<PackageReference Include="TECHIS.EndApps.Games" />
paket add TECHIS.EndApps.Games --version 0.1.1
#r "nuget: TECHIS.EndApps.Games, 0.1.1"
#:package TECHIS.EndApps.Games@0.1.1
#addin nuget:?package=TECHIS.EndApps.Games&version=0.1.1
#tool nuget:?package=TECHIS.EndApps.Games&version=0.1.1
Naija 99
Naija 99 is an independently owned EndApps game feature. This repository contains the reusable game catalog contract, the server-authoritative Naija 99 Razor Class Library, a standalone host, and the complete test suite.
Projects
| Project | Purpose | Package |
|---|---|---|
TECHIS.EndApps.Games |
Host-neutral game registry, player-identity contract, MVC catalog, and catalog assets | TECHIS.EndApps.Games |
TECHIS.EndApps.Games.Naija99 |
Gameplay, provider/service flow, Azure Table stores, controllers, Razor views, and static assets | TECHIS.EndApps.Games.Naija99 |
TECHIS.EndApps.Games.Host |
Independently runnable development host | Not packable |
TECHIS.EndApps.Games.Naija99.Test |
Behavioral, security-boundary, definition, and Azurite integration tests | Not packable |
Quick start
The standalone host uses local project references for Games and Naija 99. Neither game package depends on TECHIS.EndApps.Web.
Shared host contracts come from TECHIS.EndApps.Abstractions 13.3.2, so restoring requires access to the EndApps Core package feed:
dotnet run --project .\TECHIS.EndApps.Games.Host\TECHIS.EndApps.Games.Host.csproj
Open /games or /games/naija-99/play. The deterministic player identity is enabled only in the Development environment. The standalone host intentionally uses in-memory stores in every environment and is not the production EndApps host.
Start cities are shown from Easy through Expert. New Explore journeys start with 12 total cities, including the start. After 11 discoveries, choose End now for personal short-game results or Continue exploring to keep the same journey and discover all 99. The choice is saved on the server and restored after reload. There is no separate unlock profile. Compete still requires all 99 cities. Existing full Explore journeys and API requests without a target remain full-length.
EndApps storage configuration
An EndApps composition using Azure Tables supplies one storage-account connection string for both Naija 99 tables. The campaign and leaderboard table names remain independently configurable:
{
"Naija99": {
"StorageConnectionString": "",
"Storage": {
"TableName": "EndAppsNaija99Campaigns",
"MaximumContentionAttempts": 6
},
"LeaderboardStorage": {
"TableName": "EndAppsNaija99Leaderboards"
}
}
}
Keep the connection string outside source control. Reads do not create tables; controlled writes create the relevant table when it does not already exist.
Build and test
dotnet build .\TECHIS.EndApps.Games.Naija99.sln
dotnet test .\TECHIS.EndApps.Games.Naija99.Test\TECHIS.EndApps.Games.Naija99.Test.csproj
node --test .\tests\naija99-client.test.mjs
To run the four Azure Table integration tests, start local Azurite and set:
$env:NAIJA99_AZURITE_CONNECTION_STRING = 'UseDevelopmentStorage=true'
dotnet test .\TECHIS.EndApps.Games.Naija99.Test\TECHIS.EndApps.Games.Naija99.Test.csproj
Reference modes
Within this repository, EndAppsGamesReferenceMode selects Project or Package references for package-only validation. Invalid values and missing local projects fail during restore/build/pack.
EndApps.AspNet follows the existing App and News convention: deploy configuration uses the public NuGet packages, while a developer explicitly comments those references and enables the adjacent project references when stepping through source. There is no cross-repository MSBuild mode API.
The repository's ordinary local build needs no mode properties:
dotnet build .\TECHIS.EndApps.Games.Naija99.sln
Package-only mode uses exact package versions:
dotnet build .\TECHIS.EndApps.Games.Host\TECHIS.EndApps.Games.Host.csproj `
-p:EndAppsReferenceMode=Package
Package mode restores TECHIS.EndApps.Games and TECHIS.EndApps.Games.Naija99 from NuGet.org and Core Abstractions from the EndApps feed.
For pre-publication validation, pack Games first, pack Naija 99 against that temporary feed, then build a disposable copy of the host against the same feed.
The next-release package defaults are TECHIS.EndApps.Games 0.1.1, TECHIS.EndApps.Games.Naija99 0.1.5,
TECHIS.EndApps.Abstractions 13.3.2, and Azure.Data.Tables 12.12.0. The new game versions must be published before a normal package-mode restore.
Override the corresponding version properties only when validating a coordinated release.
Architecture
EndApps.AspNet directly composes the game packages; TECHIS.EndApps.App and TECHIS.EndApps.Web do not own or depend on Naija 99. If the game later consumes shared Web functionality, it can add the same explicit Web project/package alternatives used by News. The standalone host composes the same feature surface. The frozen graph and question definitions remain embedded server-only resources and are never static web assets.
See the architecture and delivery plan for dependency, persistence, security, and release details.
No package-publishing or cloud-resource operation is performed by the repository build.
See short Explore and release readiness for acceptance criteria, compatibility, test evidence, and deployment boundaries. Deploying the new packages also requires the composition host's static-asset publish fix; package contents alone do not correct the production catalog CSS 404.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- TECHIS.EndApps.Abstractions (= 13.3.2)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on TECHIS.EndApps.Games:
| Package | Downloads |
|---|---|
|
TECHIS.EndApps.Games.Naija99
Server-authoritative Naija 99 game module with MVC controllers, Razor views, static assets, and Azure Table persistence. |
|
|
TECHIS.EndApps.Games.SoccerTaki2
Soccer Taki 2 with Eko Warriors and Abuja Kings, mobile leaderboard navigation and server-verified Legend results. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Adds generic Core host authentication and identity integration, catalog sign-in actions, and a game-owned sign-in fallback.