'use client' export function SchedulerTab() { return (
{/* Status Overview */}
} title="launchd Job" description="Taeglich um 07:00 Uhr automatisch" /> } title="Git Hook" description="Quick Tests bei voice-service Aenderungen" /> } title="Benachrichtigungen" description="Desktop-Alerts bei Fehlern aktiviert" />
{/* Quick Actions */}

Quick Actions (BQAS)

Test Dashboard oeffnen Starte Tests direkt im BQAS Dashboard
{/* GitHub Actions vs Local - Comparison */} {/* Configuration Details */} {/* Detailed Explanation */}
) } // ============================================================================ // Sub-components // ============================================================================ function StatusCard({ icon, title, description }: { icon: React.ReactNode; title: string; description: string }) { return (
{icon}

{title}

{description}

) } function ComparisonTable() { return (

GitHub Actions Alternative

Der lokale BQAS Scheduler ersetzt GitHub Actions und bietet DSGVO-konforme, vollstaendig lokale Test-Ausfuehrung.

schedule: cron} local={macOS launchd} /> on: push} local={Git post-commit Hook} /> on: pull_request} local={Nicht moeglich} /> Daten bei GitHub (US)} local={100% lokal} /> Nein} local={Ja} isLast />
Feature GitHub Actions Lokaler Scheduler
) } function ComparisonRow({ feature, github, local, isLast = false, }: { feature: string github: React.ReactNode local: React.ReactNode isLast?: boolean }) { return ( {feature} {github} {local} ) } function Badge({ color, children }: { color: 'emerald' | 'amber' | 'red'; children: React.ReactNode }) { const colorClasses = { emerald: 'bg-emerald-100 text-emerald-700', amber: 'bg-amber-100 text-amber-700', red: 'bg-red-100 text-red-700', } return ( {children} ) } function ConfigurationDetails() { return (

Konfiguration

{/* launchd Configuration */}

launchd Job

{`# ~/Library/LaunchAgents/com.breakpilot.bqas.plist
Label: com.breakpilot.bqas
Schedule: 07:00 taeglich
Script: /voice-service/scripts/run_bqas.sh
Logs: /var/log/bqas/`}
{/* Environment Variables */}

Umgebungsvariablen

) } function EnvVar({ name, value, isActive }: { name: string; value: string; isActive?: boolean }) { return (
{name} {value}
) } function DetailedExplanation() { return (

Detaillierte Erklaerung

Warum ein lokaler Scheduler?

Der lokale BQAS Scheduler wurde entwickelt, um die gleiche Funktionalitaet wie GitHub Actions zu bieten, aber mit dem entscheidenden Vorteil, dass alle Daten zu 100% auf dem lokalen Mac Mini verbleiben. Dies ist besonders wichtig fuer DSGVO-Konformitaet, da keine Schuelerdaten oder Testergebnisse an externe Server uebertragen werden.

Komponenten

Installation

./voice-service/scripts/install_bqas_scheduler.sh install

Vorteile gegenueber GitHub Actions

) } // ============================================================================ // SVG Icons // ============================================================================ function ClockIcon() { return ( ) } function TerminalIcon() { return ( ) } function BellIcon() { return ( ) }