Files
breakpilot-lehrer/website/components/admin/system-info-configs/edu-search-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

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>
`,
}