Files
geointel/PLAN.md
T
Jens d5ea270329
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s
Update GeoIntel project files
2026-07-25 23:43:08 +02:00

8.4 KiB
Raw Blame History

PLAN.md

Goal: De eerste bruikbare versie draait als Docker-container op Unraid en kan als browserstartpagina worden ingesteld. Na de eerste start ontdekt de app de beschikbare Docker-containers, toont ze in een instellingenoverzicht en laat de gebruiker selecteren welke apps op het dashboard verschijnen. Zichtbare apps staan netjes gegroepeerd in configureerbare categorieën, tonen naam, icoon en actuele online- of offline-status en openen hun lokale WebUI in een nieuw tabblad. Favoriete websites kunnen handmatig worden toegevoegd. De zoekbalk vindt apps en favorieten en kan rechtstreeks een Google-zoekopdracht starten. Alle instellingen blijven na een herstart behouden en kunnen worden geëxporteerd en opnieuw geïmporteerd. De totale ervaring moet eruitzien als een afgewerkt premium product dat de gebruiker met plezier dagelijks als startpagina gebruikt.

Execution Rules

  • Startmodus: MVP bouwen
  • Codex mag scaffolden, bouwen, testen, committen en pushen wanneer de repo en remote duidelijk zijn.
  • Bouw de kleinste bruikbare verticale flow eerst.
  • Vraag alleen om hulp bij ontbrekende credentials, onduidelijke productkeuzes of risicovolle externe acties.
  • Werk in kleine, verifieerbare stappen.
  • Houd requirements, spec, beslissingen, risico's en handoff actueel.
  • Respecteer runtime-, sync-, persistentie-, deploy- en repo-keuzes uit SPEC.md en DECISIONS.md.
  • Test voor overdracht en commit.
  • Commit pas wanneer de relevante quality gate is gehaald.

Task Table

Phase Task Done When Status
Intake Valideer briefing, aannames en open vragen. PROJECT_BRIEF.md is actueel. Done
Design Werk requirements en SPEC.md bij. Belangrijke keuzes staan in DECISIONS.md. Done
Build Implementeer de kleinste bruikbare verticale stap. Must-haves worden aantoonbaar ondersteund. Done
Test Run unit, integratie en handmatige checks passend bij de wijziging. TEST_LOG.md bevat resultaat en datum. Done
Document Werk handoff, risico's en gebruikersnotities bij. Volgende stap is duidelijk. Done
Commit Review diff en commit zonder secrets. Commit bevat alleen bedoelde wijzigingen. Done

Current Phase

De volledige visuele audit van DockDeck Canon v1 is afgerond en releasecommit 5e411d1 draait op Unraid via 192.168.10.150:1218. De dagelijkse launcher gebruikt de Stitch-hiërarchie met desktopfavorietenrail, echte appiconen, een compacte uitklapbare widgetlaag en een viewportbrede Quick Launch. Alle instellingen blijven beschikbaar, maar grote catalogi en geavanceerde personalisatie zijn progressief ontsloten; mobiel en tablet gebruiken een horizontale instellingenbalk. Lokale quality gate, Compose-config, imagebuild, persistentie, read-only integraties en finale live browseraudit zijn groen.

Current Phase Update

De inventaris- en instellingenpass is live afgerond. Een verbonden AppOps/Docker-heartbeat heeft 139 historische records naar exact 90 bestaande containers gereconcilieerd: 0 stale namen, 0 ontbrekende namen, 0 dubbele namen en 0 statusafwijkingen. Dashboardfilters werken onafhankelijk van de weergavemodus. Dashboard en Instellingen delen exact dezelfde topbalkgeometrie en navigatiestates; Integraties gebruikt leesbare formulierregels en Paneelstudio een brede driestappenflow. Alle lokaal ontdekte Unraid-iconen geven live HTTP 200 vanuit de begrensde tijdelijke cache.

De daaropvolgende echte Chrome-audit op 3440×1215 vond geen overflow of browserfouten, maar wel resterende microtypografie van 6–8 px, te lange instellingenrijen en foutieve categorieën voor onder meer Deluge, JDownloader2, Glances en Nginx Proxy Manager. Release 16bd8c7 corrigeert dit live met een 540px-widgetdock, leesbare cascade guard, begrensde instellingenoppervlakken en expliciete veilige categorieorganisatie. De lokale gate, Tower Compose/imagebuild, read-only heartbeat en tweede live Chrome-audit zijn groen; de testtab blijft open voor gebruikerscontrole.

De huidige afwerkingspass voegt een echte links/rechts-schakelaar toe aan App Beheer, maakt Home Assistant, Authentik, Vaultwarden en Nginx Proxy Manager compact, en verrijkt de centrale launcher met subtiele omgevingsdiepte, een lokale wallpaper-upload en een configureerbare Open-Meteo-badge voor Mol. Publieke GET-healthchecks geven Authentik, NPM, Vaultwarden en Home Assistant zonder secret al een eerlijke status; minimum-scope tokens blijven optioneel voor detailstatistieken.

De achtergrondcorrectie maakt de drie opgeslagen achtergrondmodi daadwerkelijk zichtbaar en rendert de lokale wallpaper in de centrale dashboardcanvas. Een end-to-end browsertest wisselt alle presets, vergelijkt hun berekende achtergronden, uploadt via de echte instellingenflow en controleert vervolgens has-wallpaper en de server-URL in de zichtbare CSS-compositie.

De responsieve wallpaperpass koppelt het beeld los van de totale scrollhoogte en rendert het in een sticky viewportstage binnen het centrale vlak. Weergave bevat nu een begrensde live preview met Passend/Vullend, horizontale en verticale focus, zoom en herstel; alle keuzes migreren idempotent, blijven persistent en reizen mee in versie 1-back-ups.

De platformbrede wallpaperpass verplaatst die stage uit de middenkolom naar een fixed laag van direct onder de topbalk tot de viewportonderrand. Een wallpaper neutraliseert voortaan de actieve achtergrondpreset, loopt achter linkerrail, appcanvas en rechter widgetdock door en gebruikt bij Passend een zachte ambient-kopie om ultrawide zijruimte zonder harde kleurvlakken te vullen.

De categorie-icoonpass verbindt alle zestien live opgeslagen iconen met een eigen Lucide-component en dezelfde volledige keuzecatalogus in Instellingen. Nieuwe categorieën starten met een nog ongebruikt pictogram; onbekende geïmporteerde waarden behouden een veilige generieke fallback.

Verification Rules

  • Testing expectations: Unit tests voor URL-normalisatie, categorie- en sorteervoorwaarden, zoekresultaten, configuratievalidatie, import- en exportversies, container-naar-Nginx-hostmatching en permissiegrenzen; backend-integratietests met gemockte Unraid-templategegevens, Docker Socket Proxy en Nginx Proxy Manager; SQLite-migratie- en persistentietests; tests die aantonen dat geen Docker-mutatie-endpoints of beheeracties worden gebruikt; browsertests voor eerste ingebruikname, containers zichtbaar maken, categorieën beheren, favorieten toevoegen, zoeken, Google-fallback, thema wisselen, weergavemodus wijzigen, URL openen en configuratie exporteren en importeren; visuele UI-smoketests voor kernschermen zoals dashboard, categorie-overzicht en instellingen; Docker-buildtest en Compose-smoketest; een live read-only validatie op Unraid waarbij discovery, status en lokale WebUI-URL's worden gecontroleerd zonder containers te wijzigen.
  • Quality bar: De interface moet eruitzien als een professioneel premium product en niet als een simpel hobbydashboard. Verwacht een moderne, luxueuze en verzorgde UI met uitgebalanceerde witruimte, consistente kaartcomponenten, hoogwaardige iconografie, duidelijke typografie, nette schaduwen of diepte waar passend, subtiele animaties, verzorgde empty states, sterke visuele hiërarchie en een kalme maar rijke look-and-feel. De belangrijkste startpagina moet snel laden en direct bruikbaar zijn wanneer integraties traag of tijdelijk offline zijn. Fouten moeten begrijpelijk worden getoond zonder technische stacktraces. Ontbrekende iconen of URL's moeten nette fallbacks hebben. Instellingen moeten veilig opgeslagen worden en bij foutieve invoer gevalideerde feedback geven. De interface moet responsief zijn voor desktop, tablet en basisgebruik op mobiel. Toetsenbordnavigatie, zichtbare focus, semantische HTML en voldoende kleurcontrast zijn vereist. Statuspolling mag geen zichtbare flikkering veroorzaken en moet stoppen wanneer de pagina niet actief is of verstandig worden vertraagd. De code moet modulair, getypeerd, gedocumenteerd en zonder onnodige complexiteit zijn. Esthetische kwaliteit is voor deze MVP een kernvereiste en niet louter een extra.
  • Noteer niet-geteste onderdelen expliciet in TEST_LOG.md.