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