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>
214 lines
8.1 KiB
TypeScript
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>
|
|
`,
|
|
}
|