Umfangreiche Erweiterung der Skill-Bibliothek: Neue Skills für Humanisierung (Englisch/PT-BR), Design-Validierung, AI-SEO und Coolify-Deployment inkl. Regelwerke, Presets, Pattern-Referenzen, Testfälle und Automatisierungsskripte. Zusätzliche Skills für Revenue-Centric Design, Pier Cloud, OKF, Lebenslauf- und LinkedIn-Optimierung sowie zahlreiche Referenzdateien, Checklisten und YAML/JSON/Markdown-Templates. Einführung einer vollständigen OpenWiki-Dokumentation mit Architektur-, Domain- und Workflow-Beschreibungen, zentralem Index und automatisierten Updates. Modularer Aufbau, restriktive Lizenzen und umfassende Qualitäts- und Evaluationsmechanismen für alle neuen Inhalte.
70 lines
5.3 KiB
Markdown
70 lines
5.3 KiB
Markdown
---
|
|
type: Reference
|
|
title: Source Code Map & Navigation Directory
|
|
description: Practical navigation guide mapping source files across projects to system domains and responsibilities.
|
|
tags: [source-map, navigation, directory, projects]
|
|
---
|
|
|
|
# Source Code Map & Navigation Directory
|
|
|
|
This directory maps every major project, folder, and source file in the SlipItIn repository to its system domain and technical responsibility.
|
|
|
|
This navigation map [indexes backend architecture files described in](/openwiki/architecture/overview.md) the system architecture, [indexes domain model files defined in](/openwiki/domain/game-mechanics.md) the domain mechanics guide, [indexes workflow implementation files detailed in](/openwiki/workflows/slip-and-challenge.md) the workflow guide, and [indexes operational configuration files documented in](/openwiki/operations/runbook.md) the operations runbook.
|
|
|
|
---
|
|
|
|
## 1. Solution Projects (`SlipItIn.slnx`)
|
|
|
|
```
|
|
SlipItIn.slnx
|
|
├── SlipItIn.AppHost/ # Aspire distributed orchestrator
|
|
├── SlipItIn.Server/ # Web API & SignalR real-time server
|
|
├── SlipItIn.Shared/ # Shared models & data transfer objects
|
|
├── SlipItIn.ServiceDefaults/ # Aspire OpenTelemetry & health checks
|
|
├── SlipItIn/ # .NET MAUI multi-platform client
|
|
└── Agents/ # Architecture & planning briefs
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Directory & Source File Map
|
|
|
|
### `.NET Aspire Orchestration` (`SlipItIn.AppHost`)
|
|
- **`AppHost.cs`**: Orchestrates application dependencies. Configures PostgreSQL (`AddPostgres("pgsql")`), references `SlipItIn.Server`, and links the MAUI client.
|
|
- **`appsettings.json`**: Aspire orchestrator configuration.
|
|
|
|
### `Service Defaults & Telemetry` (`SlipItIn.ServiceDefaults`)
|
|
- **`Extensions.cs`**: Implements `AddServiceDefaults()` and `ConfigureOpenTelemetry()`. Configures OpenTelemetry logging, metrics, tracing filters (excluding `/health` and `/alive`), service discovery, and HTTP resilience handlers.
|
|
|
|
### `Backend Web API & SignalR Server` (`SlipItIn.Server`)
|
|
- **`Program.cs`**: Entrypoint for ASP.NET Core server. Registers EF Core `IDbContextFactory`, JWT authentication middleware, SignalR query parameter token parsing, Npgsql PostgreSQL data source, OpenAPI, CORS policies, and automatic EF migrations.
|
|
- **`Controllers/AuthController.cs`**: REST API controller providing `/api/auth/register`, `/api/auth/login`, and `/api/auth/me`. Handles BCrypt password hashing and JWT token generation.
|
|
- **`Hubs/GameHub.cs`**: SignalR hub mapped to `/hubs/game`. Performs JWT claim extraction (`GetAuthenticatedUserId`), player/host authorization checks (`ValidatePlayerAccessAsync`, `ValidateHostAccessAsync`), connection ID tracking, and real-time event broadcasting.
|
|
- **`Services/IGameService.cs`**: Contract interface defining backend game operations.
|
|
- **`Services/GameService.cs`**: Core engine implementation. Handles game creation, player joining, card dealing from active phrases, slip submission, challenge creation, penalty resolution, and state serialization (`GetGameStateAsync`, `GetPlayerHandAsync`).
|
|
- **`Data/SlipItInDbContext.cs`**: Entity Framework Core DbContext mapping `Users`, `Games`, `Players`, `Phrases`, `PlayerCards`, `GameRounds`, and `SlipChallenges` to PostgreSQL tables.
|
|
- **`Migrations/`**: Auto-generated EF Core migration snapshots (`20260723193505_InitialCreate.cs`).
|
|
- **`appsettings.json` & `appsettings.Development.json`**: JWT secret keys, issuer/audience defaults, and database connection strings.
|
|
|
|
### `Shared Domain & DTOs` (`SlipItIn.Shared`)
|
|
- **`Models/User.cs`**: Entity storing user credentials, BCrypt password hashes, and user state.
|
|
- **`Models/Game.cs`**: Entity storing lobby codes, status (`GameStatus`), host ID, and duration parameters.
|
|
- **`Models/Player.cs`**: Entity tracking player scores, ready status, and SignalR connection IDs.
|
|
- **`Models/Phrase.cs`**: Entity storing phrase text and creator metadata.
|
|
- **`Models/GameRound.cs`**: Entity tracking round numbers and status (`RoundStatus`).
|
|
- **`Models/PlayerCard.cs`**: Entity linking phrases to players for specific rounds (`IsUsed` flag).
|
|
- **`Models/SlipChallenge.cs`**: Entity recording accusations, challenging/target player IDs, and challenge status (`ChallengeStatus`).
|
|
- **`DTOs/AuthDtos.cs`**: DTOs for authentication (`RegisterRequestDto`, `LoginRequestDto`, `AuthResponseDto`).
|
|
- **`DTOs/GameStateDto.cs`**: DTOs for public state (`GameStateDto`, `PlayerInfoDto`), private hand state (`PlayerHandDto`, `PlayerCardDto`), and challenge alerts (`SlipChallengeDto`).
|
|
|
|
### `Cross-Platform MAUI Client` (`SlipItIn`)
|
|
- **`MauiProgram.cs`**: Client builder configuring MAUI app shell, fonts, and logging debug extensions.
|
|
- **`App.xaml` & `App.xaml.cs`**: Root MAUI application class.
|
|
- **`AppShell.xaml` & `AppShell.xaml.cs`**: AppShell routing container.
|
|
- **`MainPage.xaml` & `MainPage.xaml.cs`**: Initial entry view.
|
|
- **`Platforms/`**: Platform-specific entry points for Android, iOS, MacCatalyst, and Windows.
|
|
|
|
### `Documentation & Specifications` (`Agents/`)
|
|
- **`Agents/Architecture.md`**: Specification document defining Phase 2b backend security (JWT validation, `IDbContextFactory`, privacy DTOs) and Phase 3b MAUI stability patterns (`WeakReferenceMessenger`, auto-reconnect, dual-layer storage).
|
|
- **`Agents/ProjectPlan.md`**: Project plan breakdown covering phases 1 through 4.
|