Files
breakpilot-lehrer/website/components/admin/system-info-configs/pca-platform-config.ts
Benjamin Boenisch 5a31f52310 Initial commit: breakpilot-lehrer - Lehrer KI Platform
Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website,
Klausur-Service, School-Service, Voice-Service, Geo-Service,
BreakPilot Drive, Agent-Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:26 +01:00

214 lines
8.1 KiB
TypeScript

import type { SystemInfoConfig } from './types'
export const pcaPlatformConfig: SystemInfoConfig = {
title: 'PCA Platform System-Info',
description: 'Partner Content Access Platform fuer Content-Partner.',
version: '1.0',
architecture: {
layers: [
{ title: 'Partner Portal', components: ['Dashboard', 'Content Upload', 'Analytics'], color: '#3b82f6' },
{ title: 'Content Pipeline', components: ['Ingestion', 'Processing', 'Quality Check'], color: '#8b5cf6' },
{ title: 'Distribution', components: ['CDN', 'API Access', 'Embed Codes'], color: '#10b981' },
{ title: 'Monetization', components: ['Usage Tracking', 'Revenue Share', 'Invoicing'], color: '#f59e0b' },
],
},
features: [
{ name: 'Partner Onboarding', status: 'active', description: 'Self-Service Registrierung' },
{ name: 'Content Upload', status: 'active', description: 'Bulk-Upload und Metadaten' },
{ name: 'Analytics Dashboard', status: 'active', description: 'Nutzungsstatistiken' },
{ name: 'Revenue Tracking', status: 'planned', description: 'Umsatzbeteiligung' },
],
roadmap: [
{ phase: 'Phase 1: Core (Q1)', priority: 'high', items: ['Partner-Registrierung', 'Content-Upload', 'Basic Analytics', 'API Documentation'] },
{ phase: 'Phase 2: Quality (Q2)', priority: 'medium', items: ['Auto-Transcoding', 'Quality Gates', 'Metadata Validation', 'Preview System'] },
{ phase: 'Phase 3: Monetization (Q3)', priority: 'medium', items: ['Usage-based Billing', 'Revenue Reports', 'Payment Integration', 'Contract Management'] },
],
technicalDetails: [
{ component: 'Upload', technology: 'TUS Protocol', description: 'Resumable Uploads' },
{ component: 'Storage', technology: 'MinIO/S3', description: 'Object Storage' },
{ component: 'CDN', technology: 'CloudFlare', description: 'Content Delivery' },
{ component: 'API', technology: 'REST/GraphQL', description: 'Partner Access' },
],
auditInfo: [
{
category: 'Partner-Status',
items: [
{ label: 'Aktive Partner', value: 'Variabel', status: 'ok' },
{ label: 'Pending Approvals', value: 'Dashboard', status: 'ok' },
{ label: 'Content-Uploads', value: 'Tracking', status: 'ok' },
{ label: 'API-Nutzung', value: 'Metered', status: 'ok' },
],
},
{
category: 'Content Pipeline',
items: [
{ label: 'Upload-Status', value: 'Aktiv', status: 'ok' },
{ label: 'Transcoding', value: 'Automatisch', status: 'ok' },
{ label: 'Quality Gates', value: 'Aktiviert', status: 'ok' },
{ label: 'CDN Distribution', value: 'CloudFlare', status: 'ok' },
],
},
{
category: 'Monetarisierung',
items: [
{ label: 'Usage Tracking', value: 'Aktiv', status: 'ok' },
{ label: 'Revenue Share', value: 'Geplant', status: 'warning' },
{ label: 'Invoicing', value: 'Geplant', status: 'warning' },
{ label: 'Payout', value: 'Geplant', status: 'warning' },
],
},
],
fullDocumentation: `
<h2>Partner Content Access (PCA) Platform</h2>
<h3>1. Uebersicht</h3>
<p>Die PCA-Plattform ermoeglicht Content-Partnern das Hochladen, Verwalten und Monetarisieren ihrer Bildungsinhalte. Sie bietet Self-Service-Tools fuer Onboarding und Analytics.</p>
<h3>2. Partner-Workflow</h3>
<pre>
Partner Journey:
Registrierung
v
┌─────────────────────────┐
│ Onboarding Wizard │
│ - Firmendaten │
│ - Vertrag / AGB │
│ - API-Key Generierung │
└───────────┬─────────────┘
v
┌─────────────────────────┐
│ Content Upload │
│ - Bulk Upload │
│ - Metadata Editor │
│ - Preview │
└───────────┬─────────────┘
v
┌─────────────────────────┐
│ Quality Check │
│ - Format Validation │
│ - Metadata Check │
│ - Review (optional) │
└───────────┬─────────────┘
v
┌─────────────────────────┐
│ Publishing │
│ - CDN Distribution │
│ - API Access │
│ - Embed Codes │
└───────────┬─────────────┘
v
┌─────────────────────────┐
│ Analytics & Payout │
│ - Views/Downloads │
│ - Revenue Tracking │
│ - Monthly Reports │
└─────────────────────────┘
</pre>
<h3>3. Content-Typen</h3>
<table>
<tr><th>Typ</th><th>Formate</th><th>Max. Groesse</th><th>Processing</th></tr>
<tr><td>Video</td><td>MP4, MOV, MKV</td><td>5 GB</td><td>Transcoding</td></tr>
<tr><td>Audio</td><td>MP3, WAV, FLAC</td><td>500 MB</td><td>Normalisierung</td></tr>
<tr><td>Dokument</td><td>PDF, DOCX</td><td>100 MB</td><td>Preview Gen</td></tr>
<tr><td>Bild</td><td>JPG, PNG, WEBP</td><td>50 MB</td><td>Thumbnails</td></tr>
<tr><td>Interaktiv</td><td>H5P, SCORM</td><td>200 MB</td><td>Packaging</td></tr>
</table>
<h3>4. API Endpoints</h3>
<table>
<tr><th>Endpoint</th><th>Methode</th><th>Beschreibung</th></tr>
<tr><td>/api/pca/partners</td><td>GET</td><td>Partner-Liste</td></tr>
<tr><td>/api/pca/partners/{id}</td><td>GET</td><td>Partner-Details</td></tr>
<tr><td>/api/pca/content</td><td>POST</td><td>Content hochladen</td></tr>
<tr><td>/api/pca/content/{id}</td><td>GET</td><td>Content-Details</td></tr>
<tr><td>/api/pca/analytics</td><td>GET</td><td>Nutzungsstatistiken</td></tr>
<tr><td>/api/pca/embed/{id}</td><td>GET</td><td>Embed-Code</td></tr>
</table>
<h3>5. Upload-Protokoll (TUS)</h3>
<pre>
Resumable Upload Flow:
1. POST /uploads
→ Location: /uploads/abc123
2. PATCH /uploads/abc123
Upload-Offset: 0
Content-Length: 1000000
[Binary Data]
3. HEAD /uploads/abc123
Upload-Offset: 1000000
Upload-Length: 5000000
4. Repeat PATCH until complete
5. Processing triggered
</pre>
<h3>6. Metadaten-Schema</h3>
<pre>
{
"title": "Mathematik Grundlagen",
"description": "Einfuehrung in...",
"subject": "Mathematik",
"grade_level": ["5", "6", "7"],
"content_type": "video",
"duration_minutes": 15,
"language": "de",
"license": "CC-BY-SA-4.0",
"tags": ["Algebra", "Grundlagen"],
"author": {
"name": "Max Mustermann",
"organization": "Muster Verlag"
}
}
</pre>
<h3>7. Revenue Model</h3>
<table>
<tr><th>Modell</th><th>Beschreibung</th><th>Split</th></tr>
<tr><td>Views</td><td>Pro Aufruf</td><td>70/30</td></tr>
<tr><td>Downloads</td><td>Pro Download</td><td>70/30</td></tr>
<tr><td>Subscription</td><td>Anteilig</td><td>60/40</td></tr>
<tr><td>Enterprise</td><td>Lizenz</td><td>Individuell</td></tr>
</table>
<h3>8. Quality Gates</h3>
<ul>
<li><strong>Format:</strong> Unterstuetzte Formate, Codec-Check</li>
<li><strong>Metadaten:</strong> Pflichtfelder ausgefuellt</li>
<li><strong>Qualitaet:</strong> Min. 720p fuer Video</li>
<li><strong>Lizenz:</strong> Gueltige Lizenzangabe</li>
<li><strong>Moderation:</strong> Optionale manuelle Pruefung</li>
</ul>
<h3>9. Analytics-Dashboard</h3>
<table>
<tr><th>Metrik</th><th>Beschreibung</th><th>Granularitaet</th></tr>
<tr><td>Views</td><td>Gesamtaufrufe</td><td>Taeglich</td></tr>
<tr><td>Unique Views</td><td>Eindeutige Nutzer</td><td>Taeglich</td></tr>
<tr><td>Watch Time</td><td>Gesamtdauer</td><td>Pro Content</td></tr>
<tr><td>Completion Rate</td><td>% bis Ende</td><td>Pro Content</td></tr>
<tr><td>Downloads</td><td>Anzahl Downloads</td><td>Taeglich</td></tr>
</table>
<h3>10. Partner-Support</h3>
<pre>
Support-Kanaele:
├── Dokumentation (Self-Service)
├── API Reference (OpenAPI)
├── E-Mail Support (48h SLA)
├── Dedicated Manager (Enterprise)
└── Status Page (status.example.com)
</pre>
`,
}