TECHIS.EndApps.Games
0.1.0
Prefix Reserved
See the version list below for details.
dotnet add package TECHIS.EndApps.Games --version 0.1.0
NuGet\Install-Package TECHIS.EndApps.Games -Version 0.1.0
<PackageReference Include="TECHIS.EndApps.Games" Version="0.1.0" />
<PackageVersion Include="TECHIS.EndApps.Games" Version="0.1.0" />
<PackageReference Include="TECHIS.EndApps.Games" />
paket add TECHIS.EndApps.Games --version 0.1.0
#r "nuget: TECHIS.EndApps.Games, 0.1.0"
#:package TECHIS.EndApps.Games@0.1.0
#addin nuget:?package=TECHIS.EndApps.Games&version=0.1.0
#tool nuget:?package=TECHIS.EndApps.Games&version=0.1.0
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. The current game implementation does not depend on TECHIS.EndApps.Web, so a fresh clone does not require an EndApps 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.
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
To run the three Azure Table integration tests, start 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. 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 package defaults are TECHIS.EndApps.Games 0.1.0, TECHIS.EndApps.Games.Naija99 0.1.4, and Azure.Data.Tables 12.12.0. 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.
| 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
- No dependencies.
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.
Initial public NuGet release.