# Maintainability Review - Pick'n'Play ## A) Current focus This document tracks only active work. Completed work is intentionally omitted and can be reviewed in git history. Active maintainability risks (priority order): 1. Externalized frontend content assets are still pending (Low) - Translation and FAQ payloads are still embedded in executable JS (`wwwroot/js/i18n.js:1`-`wwwroot/js/i18n.js:799`). - Impact: content changes require touching behavior modules and increase review noise. ## B) Active task list [P2] Externalize i18n and FAQ content from executable JS - Problem: Severity `Low`, Category `Complexity/Documentation`. Translation and FAQ payloads are embedded in code. - Evidence: `wwwroot/js/i18n.js:1`-`wwwroot/js/i18n.js:799`. - Recommendation: move language dictionaries and FAQ markdown into versioned data assets with schema checks. - Acceptance criteria (testable): `i18n.js` holds behavior only; assets load and render identical user-facing text. - Effort / Risk: `M / Low`. - Dependencies (if any): frontend module split is helpful but optional. ## C) Suggested execution order 1. Externalize i18n/FAQ assets. ## D) Guardrails - Keep endpoint handlers transport-focused and move business rules into services/validators. - Keep reads side-effect free and isolate all persistence changes to explicit command paths. - Maintain one source of truth per validation rule (backend authoritative, frontend UX hints only). - Prefer typed DTOs over anonymous response shapes for non-trivial API payloads.