Files
web-app-launcher/plans/service-integrations/PLAN.md
T
alexei.dolgolyov 50e8519220 feat(service-integrations): phase 2 — integration widget & app form UI
- Add 6 renderer components: StatCard, Gauge, List, Progress, AlertBanner, Chart
- Add IntegrationWidget container with auto-refresh, loading, error states
- Add IntegrationAlertOverlay for layout-level critical alerts
- Add IntegrationConfigFields for dynamic form generation from Zod schemas
- Register integration type in WidgetRenderer
- Extend WidgetCreationForm with integration app/endpoint pickers
- Extend AppForm with integration config section and test connection button
- Add /api/integrations/alerts endpoint
2026-03-25 22:07:51 +03:00

2.9 KiB

Feature: Service Integrations

Branch: feature/service-integrations Base branch: master Created: 2026-03-25 Status: 🟡 In Progress Strategy: Big Bang Mode: Automated Execution: Orchestrator

Summary

Transform the dashboard from a link page into a real-time command center by pulling live data from self-hosted services. Integrations are associated with apps — when you register Pi-hole as an app, you attach the "Pi-hole" integration to it. A new integration widget type displays live data endpoints with specialized renderers (gauges, stat cards, lists, charts, progress bars, alert banners).

Build & Test Commands

  • Build: npm run build
  • Test: npm test
  • Lint: npm run lint
  • Check: npm run check

Phases

  • Phase 1: Integration Architecture Foundation [domain: backend] → subplan
  • Phase 2: Integration Widget & App Form UI [domain: frontend] → subplan
  • Phase 3: NUT/UPS Integration [domain: backend] → subplan
  • Phase 4: Pi-hole Integration [domain: backend] → subplan
  • Phase 5: Portainer Integration [domain: backend] → subplan
  • Phase 6: Gitea Integration [domain: backend] → subplan
  • Phase 7: Nginx Proxy Manager Integration [domain: backend] → subplan
  • Phase 8: Authentik Integration [domain: backend] → subplan
  • Phase 9: Media Integrations (Emby + Immich + Deluge + MeTube) [domain: backend] → subplan
  • Phase 10: Planka Integration + Polish [domain: fullstack] → subplan

Phase Progress Log

Phase Domain Status Review Build Committed
Phase 1: Architecture backend Not Started
Phase 2: Widget & App Form UI frontend Not Started
Phase 3: NUT/UPS backend Not Started
Phase 4: Pi-hole backend Not Started
Phase 5: Portainer backend Not Started
Phase 6: Gitea backend Not Started
Phase 7: Nginx Proxy Manager backend Not Started
Phase 8: Authentik backend Not Started
Phase 9: Media (Emby+Immich+Deluge+MeTube) backend Not Started
Phase 10: Planka + Polish fullstack Not Started

Parallel Execution Plan

Phases 3+4 (NUT + Pi-hole), 5+6 (Portainer + Gitea), and 7+8 (NPM + Authentik) are independent pairs that can run in parallel.

Final Review

  • Comprehensive code review
  • Full build passes
  • Full test suite passes
  • Merged to master