This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/website/components/admin/system-info-configs/edu-search-config.ts
Benjamin Admin bfdaf63ba9 fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.

This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).

Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:51:32 +01:00

124 lines
5.2 KiB
TypeScript

import type { SystemInfoConfig, Feature } from './types'
// Features with proper typing - Removed all school/person crawling features
const features: Feature[] = [
{ name: 'Lehrplan-Crawler', status: 'active', description: 'Crawlt NiBiS und KMK fuer Lehrplaene und Erlasse' },
{ name: 'Dokumenten-Suche', status: 'active', description: 'Volltext-Suche ueber Bildungsdokumente' },
{ name: 'Bildungsquellen-Verwaltung', status: 'active', description: 'Verwaltet Crawler-Konfigurationen fuer Bildungsbehoerden' },
{ name: 'RAG-Integration', status: 'planned', description: 'Vector-Suche fuer intelligente Dokumentenabfragen' },
]
export const eduSearchConfig: SystemInfoConfig = {
title: 'Education Search System-Info',
description: 'Crawler und Suchsystem fuer Bildungsdokumente (Lehrplaene, Erlasse, Beschluesse).',
version: '4.0',
architecture: {
layers: [
{ title: 'Frontend', components: ['Admin UI (Next.js)', 'Dokumenten-Suche'], color: '#3b82f6' },
{ title: 'API Gateway', components: ['edu-search-service (Go, Port 8088)'], color: '#8b5cf6' },
{ title: 'Crawler', components: ['NiBiS Crawler', 'KMK Crawler', 'Bildungsbehoerden-Crawler'], color: '#10b981' },
{ title: 'Data Layer', components: ['PostgreSQL (Metadaten)', 'OpenSearch (Volltext)', 'MinIO (Dokumente)'], color: '#f59e0b' },
],
},
features,
roadmap: [
{
phase: 'Phase 1: Dokumenten-Crawler (Abgeschlossen)',
priority: 'high',
items: [
'NiBiS Crawler (Niedersachsen)',
'KMK Beschluesse-Crawler',
'Dokumenten-Indexierung',
'Admin-UI fuer Crawler-Steuerung',
]
},
{
phase: 'Phase 2: Suche (Aktuell)',
priority: 'high',
items: [
'Volltext-Suche mit OpenSearch',
'Filter nach Bundesland/Dokumenttyp',
'Semantische Suche (RAG)',
'Zitat-Extraktion',
]
},
{
phase: 'Phase 3: Erweiterung (Q2)',
priority: 'medium',
items: [
'Weitere Bundeslaender-Crawler',
'Automatische Aenderungserkennung',
'Push-Benachrichtigungen',
'API fuer externe Systeme',
]
},
],
technicalDetails: [
{ component: 'Backend', technology: 'Go (Gin)', version: '1.21+', description: 'edu-search-service auf Port 8088' },
{ component: 'Suche', technology: 'OpenSearch', version: '2.11', description: 'Volltext-Indexierung' },
{ component: 'Datenbank', technology: 'PostgreSQL', version: '15+', description: 'Metadaten und Crawler-Status' },
{ component: 'Storage', technology: 'MinIO', description: 'Dokument-Speicher (PDFs, etc.)' },
{ component: 'Frontend', technology: 'Next.js', version: '15', description: 'Admin UI auf Port 3000' },
],
auditInfo: [
{
category: 'Service Status',
items: [
{ label: 'edu-search-service', value: 'Port 8088', status: 'ok' },
{ label: 'OpenSearch', value: 'Port 9200', status: 'ok' },
{ label: 'API Latenz', value: '< 100ms', status: 'ok' },
],
},
{
category: 'Datenquellen',
items: [
{ label: 'NiBiS (Niedersachsen)', value: 'Aktiv', status: 'ok' },
{ label: 'KMK Beschluesse', value: 'Aktiv', status: 'ok' },
{ label: 'Weitere Bundeslaender', value: 'Geplant', status: 'warning' },
],
},
],
fullDocumentation: `
<h2>Education Search - Bildungsdokumente</h2>
<h3>1. Uebersicht</h3>
<p>Das Education Search System crawlt und indexiert Bildungsdokumente aus verschiedenen Quellen:</p>
<ul>
<li><strong>NiBiS:</strong> Niedersaechsischer Bildungsserver (Lehrplaene, Erlasse, Curricula)</li>
<li><strong>KMK:</strong> Beschluesse der Kultusministerkonferenz</li>
<li><strong>Landesbehoerden:</strong> Bildungsportale der Bundeslaender</li>
</ul>
<h3>2. Architektur</h3>
<pre>
┌─────────────┐ ┌─────────────────┐ ┌────────────┐
│ Admin UI │────▶│ edu-search-svc │────▶│ OpenSearch │
│ (Next.js) │ │ (Go, :8088) │ │ (:9200) │
└─────────────┘ └─────────────────┘ └────────────┘
┌───────┴───────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ PostgreSQL│ │ MinIO │
│ (Metadaten)│ │ (Dateien)│
└──────────┘ └──────────┘
</pre>
<h3>3. Crawler-Konfiguration</h3>
<p>Jeder Crawler wird ueber die Admin-UI konfiguriert:</p>
<ul>
<li>Start-URLs und Crawl-Tiefe</li>
<li>Rate-Limiting (respektiert robots.txt)</li>
<li>Dokumenttyp-Filter</li>
<li>Scheduling (taglich/woechentlich)</li>
</ul>
<h3>4. Wichtige Hinweise</h3>
<ul>
<li>System crawlt ausschliesslich <strong>Institutionsdaten</strong> (Dokumente, Lehrplaene)</li>
<li>Keine personenbezogenen Daten werden gesammelt</li>
<li>Alle Crawls respektieren robots.txt und Rate-Limits</li>
</ul>
`,
}