'use client' import { Language } from '@/lib/types' import { t } from '@/lib/i18n' import GradientText from '../ui/GradientText' import FadeInView from '../ui/FadeInView' import GlassCard from '../ui/GlassCard' import { Code2, Container, GitBranch, Layers, ShieldCheck, Terminal, Cpu, Database, Braces, FileCode2, Server, Workflow, } from 'lucide-react' interface EngineeringSlideProps { lang: Language } export default function EngineeringSlide({ lang }: EngineeringSlideProps) { const i = t(lang) const de = lang === 'de' const heroStats = [ { value: '691K', label: de ? 'Zeilen Code' : 'Lines of Code', sub: 'Go · Python · TypeScript', color: 'text-indigo-400', borderColor: 'border-indigo-500/30', }, { value: '45', label: de ? 'Docker Container' : 'Docker Containers', sub: de ? 'Produktiv auf einem Mac Studio' : 'Production on one Mac Studio', color: 'text-emerald-400', borderColor: 'border-emerald-500/30', }, { value: '27', label: de ? 'Microservices' : 'Microservices', sub: '10 Go · 9 Python · 8 Next.js', color: 'text-purple-400', borderColor: 'border-purple-500/30', }, { value: '37', label: 'Dockerfiles', sub: de ? 'Vollstaendig containerisiert' : 'Fully containerized', color: 'text-amber-400', borderColor: 'border-amber-500/30', }, ] const languageBreakdown = [ { lang: 'TypeScript / TSX', pct: 58, loc: '403K', color: 'bg-blue-500', icon: Braces }, { lang: 'Python', pct: 23, loc: '160K', color: 'bg-yellow-500', icon: Terminal }, { lang: 'Go', pct: 18, loc: '127K', color: 'bg-cyan-500', icon: Code2 }, ] const devopsStack = [ { icon: GitBranch, label: 'Gitea', desc: de ? 'Self-hosted Git · 4 Repos · Code Review' : 'Self-hosted Git · 4 Repos · Code Review', }, { icon: Workflow, label: 'Woodpecker CI', desc: de ? 'Self-hosted CI/CD · Lint · Test · Build · Deploy' : 'Self-hosted CI/CD · Lint · Test · Build · Deploy', }, { icon: Container, label: 'Docker Compose', desc: de ? '66 Service-Definitionen · Multi-Stage Builds' : '66 Service Definitions · Multi-Stage Builds', }, { icon: ShieldCheck, label: 'DevSecOps', desc: 'Semgrep · Trivy · Gitleaks · CycloneDX SBOM', }, { icon: Database, label: 'HashiCorp Vault', desc: de ? 'Secrets Management · Auto-Rotation · PKI' : 'Secrets Management · Auto-Rotation · PKI', }, { icon: Server, label: de ? 'Infrastruktur' : 'Infrastructure', desc: 'Nginx · PostgreSQL · Qdrant · MinIO · Valkey', }, ] const serviceArchitecture = [ { project: 'breakpilot-core', color: 'text-indigo-400', dotColor: 'bg-indigo-400', services: de ? ['Admin Dashboard', 'Consent Service (Go)', 'Billing Service (Go)', 'RAG Pipeline', 'Embedding Service', 'Voice Service', 'Pitch Deck', 'Nginx Reverse Proxy'] : ['Admin Dashboard', 'Consent Service (Go)', 'Billing Service (Go)', 'RAG Pipeline', 'Embedding Service', 'Voice Service', 'Pitch Deck', 'Nginx Reverse Proxy'], }, { project: 'breakpilot-lehrer', color: 'text-purple-400', dotColor: 'bg-purple-400', services: de ? ['Lehrer Dashboard', 'Studio v2', 'Website', 'Klausur Service', 'School Service (Go)', 'Edu Search (Go)'] : ['Teacher Dashboard', 'Studio v2', 'Website', 'Exam Service', 'School Service (Go)', 'Edu Search (Go)'], }, { project: 'breakpilot-compliance', color: 'text-emerald-400', dotColor: 'bg-emerald-400', services: de ? ['Compliance Dashboard', 'Developer Portal', 'AI SDK (Go)', 'Document Crawler', 'DSMS Gateway', 'Security Scanner (Go)'] : ['Compliance Dashboard', 'Developer Portal', 'AI SDK (Go)', 'Document Crawler', 'DSMS Gateway', 'Security Scanner (Go)'], }, ] return (
{de ? 'Anhang' : 'Appendix'}
{i.annex.engineering.subtitle}
{stat.value}
{stat.label}
{stat.sub}
{de ? 'Sprachen-Mix' : 'Language Mix'}
{de ? 'Service-Architektur' : 'Service Architecture'}
{proj.project}
{de ? 'DevOps & Toolchain' : 'DevOps & Toolchain'}
{tool.label}
{tool.desc}
{de ? '100% Self-Hosted · Kein externer Cloud-Anbieter · Vollstaendige Kontrolle ueber Code und Daten' : '100% Self-Hosted · No External Cloud Provider · Full Control Over Code and Data'}