KI-gestützte Plattform zur automatischen Generierung von Prüfungsaufgaben für OpenBook-Prüfungen mit Claude API Integration und RAG-basierter Dokumentenanalyse.
Monorepo-Architektur: ExamCraft AI verwendet eine Monorepo-Struktur mit Git Submodules für Premium und Enterprise Features. Das Core Package ist Open Source (MIT), während Premium und Enterprise Features proprietär sind.
ExamCraft AI ist eine vollständig implementierte, produktionsreife Webanwendung, die Dozierenden dabei hilft, qualitativ hochwertige Prüfungsaufgaben automatisch aus beliebigen Dokumenten zu generieren. Die Plattform kombiniert moderne KI (Claude API) mit RAG-Technologie (Retrieval-Augmented Generation) für kontextuelle, durchdachte Fragenerstellung.
examcraft/
├── packages/
│ ├── core/ # ✅ Open Source (MIT) - Free Tier
│ ├── premium/ # 🔒 Closed Source - Starter/Professional Tier
│ └── enterprise/ # 🔒 Closed Source - Enterprise Tier
├── docker-compose.yml # Core Services
├── docker-compose.premium.yml # Premium Extension
├── docker-compose.enterprise.yml # Enterprise Extension
└── MONOREPO_SETUP.md # Detailed Setup Guide
Siehe MONOREPO_SETUP.md für detaillierte Informationen zur Monorepo-Struktur.
- 📊 Executive Summary - Business-Übersicht, Marktchancen, Finanzprognosen
- 🎯 Feature-Übersicht - Vollständige Feature-Liste mit Use Cases und Benefits
- 📅 Release Timeline - Detaillierte Roadmap mit quartalsweisen Releases
- 🗺️ Product Roadmap - Langfristige Vision und Feature-Vergleichsmatrix
- 📚 Benutzerhandbuch - Vollständige Anleitung für Dozenten und Lehrkräfte
- 🎛️ Admin Guide: Prompt Management - Verwaltung der AI-Prompts
- 🚀 Deployment Guide - Production Deployment auf Render.com
- 📖 API Dokumentation - Interaktive API-Docs (lokal)
- 🔧 Development Setup - Lokale Entwicklungsumgebung (siehe unten)
- ⚙️ Async Document Processing - RabbitMQ & Celery Setup, Monitoring & Troubleshooting
| Feature | Free (Core) | Starter (€19/mo) | Professional (€49/mo) | Enterprise (€149/mo) |
|---|---|---|---|---|
| Documents | 5 | 50 | Unlimited | Unlimited |
| Questions/Month | 20 | 200 | 1000 | Unlimited |
| Users | 1 | 3 | 10 | Unlimited |
| Document Upload | ✅ | ✅ | ✅ | ✅ |
| Basic Question Generation | ✅ | ✅ | ✅ | ✅ |
| Question Review | ✅ | ✅ | ✅ | ✅ |
| RBAC System | ✅ | ✅ | ✅ | ✅ |
| RAG Generation | ❌ | ✅ | ✅ | ✅ |
| Document ChatBot | ❌ | ❌ | ✅ | ✅ |
| Advanced Prompt Management | ❌ | ❌ | ✅ | ✅ |
| Analytics Dashboard | ❌ | ❌ | ✅ | ✅ |
| SSO/SAML | ❌ | ❌ | ❌ | ✅ |
| Custom Branding | ❌ | ❌ | ❌ | ✅ |
| API Access | ❌ | ❌ | ❌ | ✅ |
| Priority Support | ❌ | ❌ | ❌ | ✅ |
- 📄 Multi-Format Dokumentenverarbeitung: PDF, Word, Markdown
- 🔬 PyMuPDF Integration - Fast Document Processing (10x schneller als Docling)
- 🤖 Basic Question Generation mit Claude API + PydanticAI
- 📝 Question Review Workflow - Approve/Reject/Edit
- 👥 User Management - Authentication, Authorization, RBAC
- 🔒 GDPR Compliance - Data Export, Account Deletion
- ⚛️ Moderne Web-UI mit React 18 + TypeScript + Tailwind CSS
- 🐳 Container-basiert für einfache Entwicklung und Deployment
- 🤖 RAG-basierte KI-Fragenerstellung mit Vector Database (ChromaDB/Qdrant)
- 💬 Interaktiver Document ChatBot - NotebookLM-Style Konversationen
- 🎛️ Advanced Prompt Management - Versionierung, Template Variables, Semantic Search
- 🔍 Semantische Suche über Dokumente und Prompts
- 📊 Analytics Dashboard - Usage Metrics, Performance Tracking
- 🔐 SSO/SAML Integration - Single Sign-On mit SAML 2.0
- 🎨 Custom Branding - White-Label Lösung
- 🔑 API Access Management - REST API für Integrationen
- 📈 Advanced Analytics - BI Export, Custom Reports, Audit Logs
- ☁️ On-Premise Deployment - Self-Hosted Option
- 🆘 Priority Support - 24/7 Support, Dedicated Account Manager
- 🚀 Production-Ready mit Rate Limiting, Error Handling & Monitoring
ExamCraft/
├── packages/
│ ├── core/ # ✅ Open Source (MIT License)
│ │ ├── backend/ # FastAPI Backend Server
│ │ │ ├── main.py # REST API Endpoints
│ │ │ ├── database.py # PostgreSQL Connection
│ │ │ ├── models/ # SQLAlchemy Models
│ │ │ ├── services/ # Business Logic Services
│ │ │ └── api/ # API Endpoints
│ │ └── frontend/ # React 18 + TypeScript Frontend
│ │ ├── src/components/ # React UI Components
│ │ ├── src/services/ # API Client Services
│ │ └── src/types/ # TypeScript Definitions
│ ├── premium/ # 🔒 Private Submodule (Proprietary)
│ │ ├── backend/ # Premium Backend Features
│ │ │ ├── api/v1/ # RAG, Chat, Prompts APIs
│ │ │ ├── services/ # RAG, ChatBot, Vector Services
│ │ │ └── models/ # Chat, Prompt Models
│ │ └── frontend/ # Premium Frontend Components
│ │ └── src/components/ # ChatBot, PromptEditor, RAG UI
│ └── enterprise/ # 🔒 Private Submodule (Proprietary)
│ ├── backend/ # Enterprise Backend Features
│ │ ├── api/v1/ # SSO, Branding, API Access, Analytics
│ │ └── services/ # SSO, OAuth, Branding Services
│ └── frontend/ # Enterprise Frontend Components
│ └── src/components/ # SSO Config, Branding, API Management
├── docker-compose.yml # Core Services (PostgreSQL, Redis, Core)
├── docker-compose.premium.yml # Premium Extension (Qdrant)
├── docker-compose.enterprise.yml # Enterprise Extension
├── start-dev.sh # 🚀 Smart Start Script (Auto-detects Tier)
├── stop-dev.sh # 🛑 Stop All Services
├── MONOREPO_SETUP.md # Detailed Monorepo Setup Guide
└── .gitmodules # Git Submodules Configuration
- Docker & Docker Compose (für Container-basierte Entwicklung)
- Git (für Repository-Management)
- Claude API Key (für KI-Fragenerstellung, optional für Core)
- Python 3.13+ (für lokale Entwicklung ohne Docker)
Das neue start-dev.sh Script erkennt automatisch, welche Packages verfügbar sind und startet die entsprechenden Services:
# Repository klonen
git clone https://github.com/talent-factory/examcraft.git
cd examcraft
# Umgebung konfigurieren
cp .env.example .env
# Edit .env with your configuration (ANTHROPIC_API_KEY für Premium/Enterprise)
# Services starten (erkennt automatisch Core/Premium/Enterprise)
./start-dev.sh
# Services stoppen
./stop-dev.shDas Script erkennt automatisch:
- ✅ Core Only: Wenn nur
packages/corevorhanden ist - ✅ Premium: Wenn
packages/premiumSubmodule initialisiert ist - ✅ Enterprise: Wenn
packages/enterpriseSubmodule initialisiert ist
Access Points:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- PostgreSQL: localhost:5432
- Redis: localhost:6380 (external) / 6379 (internal)
- Qdrant: http://localhost:6333 (Premium/Enterprise)
# Premium Submodule initialisieren (requires access)
git submodule update --init --recursive packages/premium
# Enterprise Submodule initialisieren (requires access, optional)
git submodule update --init --recursive packages/enterprise
# Services starten (erkennt automatisch verfügbare Packages)
./start-dev.shHinweis: Features werden über User-Rollen und Institution-Settings gesteuert, nicht über die Package-Auswahl. Die Packages stellen nur die Code-Basis bereit.
Das start-dev.sh Script erstellt automatisch Test-Daten für die Entwicklung:
Talent Factory Institution (Professional Tier):
- Domain:
talent-factory.ch(Auto-Assignment für alle@talent-factory.chE-Mails) - Subscription: Professional (Unlimited Documents, 1000 Questions/Month)
Admin User:
- Email:
admin@talent-factory.ch - Password:
admin123(nur Development!) # pragma: allowlist secret - Rollen: Admin, Dozent, Assistant
- Superuser: Ja
Auto-Assignment:
- Jeder User mit
@talent-factory.chE-Mail wird automatisch der Talent Factory Institution zugeordnet - Funktioniert für OAuth (Google, Microsoft) und normale Registrierung
Manuelles Seeding:
# Falls automatisches Seeding fehlschlägt
./seed-dev-data.shSiehe MONOREPO_SETUP.md für:
- Detaillierte Setup-Anleitung
- Submodule-Verwaltung
- Docker Compose Befehle
- Troubleshooting
- Frontend (React): Port 3000
- Backend (FastAPI): Port 8000
- PostgreSQL: Port 5432
- Redis: Port 6379
# Alle Services starten
docker-compose up -d
# Logs anzeigen
docker-compose logs -f
# Services neustarten
docker-compose restart
# Services stoppen
docker-compose down
# Backend Logs
docker-compose logs -f backend
# Frontend Logs
docker-compose logs -f frontendGET /- Health CheckGET /health- Service StatusPOST /api/v1/generate-exam- Prüfung generierenGET /api/v1/topics- Verfügbare ThemenGET /api/v1/exam/{exam_id}- Prüfung abrufen
Diese Version enthält eine funktionsfähige Demo für Workshop-Zwecke:
- ✅ Vollständige UI für Prüfungserstellung
- ✅ Demo-Fragen Generation (ohne Claude API)
- ✅ Interaktive Prüfungsansicht mit Auswertung
- ✅ Responsive Design mit Material-UI
- ✅ Docker-basierte Entwicklungsumgebung
- FastAPI - Moderne Python Web API
- SQLAlchemy - ORM für Datenbankzugriff
- PostgreSQL - Relationale Datenbank
- Redis - Caching und Session Management
- Pydantic - Datenvalidierung und Serialisierung
- React 18 - UI Framework
- TypeScript - Type-sichere Entwicklung
- Material-UI (MUI) - Komponenten-Bibliothek
- Axios - HTTP Client
- Docker & Docker Compose - Containerisierung
- uvicorn - ASGI Server
- nginx - Reverse Proxy (Produktion)
- Grundlegende Projektstruktur
- Docker-Umgebung Setup
- FastAPI Backend mit Demo-Endpoints
- React Frontend mit Material-UI
- Prüfungserstellung und -anzeige
- Claude API Integration
- Benutzerauthentifizierung
- Prüfungsverwaltung (CRUD)
- Erweiterte Fragetypen
- Export-Funktionen (PDF, Word)
- Fragenkatalog-Verwaltung
- Statistiken und Analytics
- Benutzerrollen und Permissions
- Integration mit LMS-Systemen
- Mobile App
- Fork das Repository
- Feature Branch erstellen (
git checkout -b feature/amazing-feature) - Änderungen committen (
git commit -m 'feat: Add amazing feature') - Branch pushen (
git push origin feature/amazing-feature) - Pull Request erstellen
Dieses Projekt ist unter der MIT Lizenz lizenziert - siehe LICENSE Datei für Details.
- Issues: GitHub Issues für Bug Reports und Feature Requests
- Dokumentation:
/docsOrdner für detaillierte Dokumentation - API Docs: http://localhost:8000/docs (während Entwicklung)
ExamCraft AI - Revolutioniere die Art, wie Prüfungen erstellt werden! 🎓✨