Erste Schritte
Willkommen bei der Exeoflow Entwicklerdokumentation. Diese Anleitung hilft Ihnen dabei, mit der Entwicklung für Exeoflow zu beginnen.
Entwicklungsumgebung einrichten
Voraussetzungen
Stellen Sie sicher, dass folgende Tools installiert sind:
- Node.js: Version 18.x oder höher
- npm oder yarn: Paketmanager
- Git: Versionskontrolle
- Docker: Für lokale Entwicklung (optional)
Repository klonen
git clone https://github.com/exeoflow/exeoflow.git
cd exeoflow
Abhängigkeiten installieren
npm install
Umgebungsvariablen konfigurieren
Erstellen Sie eine .env Datei im Projektverzeichnis:
cp .env.example .env
Bearbeiten Sie die .env Datei und fügen Sie Ihre Konfiguration hinzu:
# Datenbank
DATABASE_URL=postgresql://user:password@localhost:5432/exeoflow
# Server
PORT=3000
NODE_ENV=development
# API
API_KEY_SECRET=your-secret-key
# Redis (optional)
REDIS_URL=redis://localhost:6379
Datenbank einrichten
npm run db:migrate
npm run db:seed
Entwicklungsserver starten
npm run dev
Der Server läuft nun auf http://localhost:3000.
Projektstruktur
exeoflow/
├── src/
│ ├── api/ # API-Endpunkte
│ ├── core/ # Kern-Funktionalität
│ ├── nodes/ # Node-Implementierungen
│ ├── workflows/ # Workflow-Engine
│ ├── database/ # Datenbank-Modelle
│ └── utils/ # Hilfsfunktionen
├── tests/ # Tests
├── docs/ # Dokumentation
├── public/ # Statische Dateien
└── package.json
Architektur-Übersicht
Exeoflow basiert auf einer modularen Architektur:
Core-Komponenten
- Workflow Engine: Führt Workflows aus
- Node System: Erweiterbare Node-Implementierungen
- API Layer: REST API für externe Integrationen
- Database Layer: Datenpersistenz
- Queue System: Asynchrone Job-Verarbeitung
Datenfluss
API Request → Controller → Service → Workflow Engine → Nodes → Database
Entwicklungs-Workflow
1. Feature-Branch erstellen
git checkout -b feature/mein-feature
2. Code schreiben
Implementieren Sie Ihr Feature unter Beachtung der Coding-Standards.
3. Tests schreiben
npm run test
4. Code-Qualität prüfen
npm run lint
npm run format
5. Commit erstellen
git add .
git commit -m "feat: Beschreibung des Features"
Wir verwenden Conventional Commits.
6. Pull Request erstellen
Pushen Sie Ihren Branch und erstellen Sie einen Pull Request auf GitHub.
Debugging
VS Code Debug-Konfiguration
Erstellen Sie .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Server",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/src/index.ts",
"preLaunchTask": "npm: dev",
"outFiles": ["${workspaceFolder}/dist/**/*.js"]
}
]
}
Logging
Exeoflow verwendet strukturiertes Logging:
import { logger } from '@/utils/logger';
logger.info('Workflow gestartet', { workflowId: 'wf_123' });
logger.error('Fehler aufgetreten', { error: err });
Testing
Unit Tests
npm run test:unit
Integration Tests
npm run test:integration
E2E Tests
npm run test:e2e
Test-Coverage
npm run test:coverage
Nächste Schritte
- Custom Nodes entwickeln - Eigene Nodes erstellen
- Architektur - Verstehen Sie die Architektur
- Beitragen - Zum Projekt beitragen