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>
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
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>
|
||||
`,
|
||||
}
|
||||
Reference in New Issue
Block a user