Zum Hauptinhalt springen

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​