Modern Event-Driven Workflow Automation Platform
A professional showcase demonstrating full-stack development skills with enterprise-grade security
π Live Demo
Try it now: https://taskflow.celox.io
Login: admin / admin123 or demo / demo123
Dieses Projekt zeigt professionelle Software-Entwicklung mit modernen Technologien und Best Practices:
| Bereich | Skills |
|---|---|
| Backend | Event-Driven Architecture, Clean Code, Security by Design |
| Frontend | React 18, TypeScript, State Management, Error Handling |
| DevOps | Docker, CI/CD, Nginx, Health Checks |
| Security | JWT, Rate Limiting, SQL Injection Protection, Input Validation |
| Testing | Unit Tests, Integration Tests, E2E Tests |
π Detaillierte Skills-Dokumentation: docs/SHOWCASE.md
- β Event-Driven Architecture with Apache Kafka
- π Real-time Updates via WebSocket
- π JWT Authentication with Spring Security
- π‘οΈ Multi-Layer Security (Rate Limiting, Input Validation, SQL Protection)
- π RESTful API with OpenAPI documentation
- π¨ Modern UI with Material-UI
- π³ Containerized with Docker & Docker Compose
- π§ͺ Comprehensive Tests (Unit, Integration, E2E)
- π CI/CD Pipeline with GitHub Actions
- π§ Email Integration with SMTP support
- ποΈ Database Integration with secure query execution
- π» JavaScript Code Execution with GraalVM sandboxing
- π Interactive Dashboard with charts and analytics
- π¨ Showcase Page with project overview and technologies
- π₯ Health Check Endpoints for monitoring
β οΈ Error Boundaries for graceful error handling
- Java 17 with Spring Boot 3.2.1
- Apache Kafka for Event Streaming
- PostgreSQL 15 as Database
- Spring Data JPA for Data Access
- Spring Security with JWT
- Liquibase for Database Migrations
- OpenAPI 3.0 for API Documentation
- React 18 with TypeScript
- Redux Toolkit for State Management
- Material-UI (MUI) as UI Framework
- React Flow for Workflow Visualization
- Recharts for Data Visualization
- Axios for HTTP Client
- React Hook Form for Form Handling
- React Router for Navigation
- Docker & Docker Compose
- GitHub Actions for CI/CD
- Nginx as Reverse Proxy
- Maven for Build Management
βββββββββββββββ ββββββββββββββββ βββββββββββββββββββ
β Frontend βββββββΆβ Task Service βββββββΆβ PostgreSQL β
β (React) β β (Spring Boot)β β β
βββββββββββββββ ββββββββ¬ββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββ
βApache Kafka β
ββββββββ¬βββββββ
β
βΌ
βββββββββββββββββββββββββ
β Notification Service β
β (Kafka Consumer) β
βββββββββββββββββββββββββ
- Java 17+
- Node.js 18+
- Docker & Docker Compose
- Maven 3.9+
git clone https://github.com/pepperonas/taskflow-platform.git
cd taskflow-platformcd infrastructure/docker
docker-compose up -dProduction (Live Demo):
- Frontend: https://taskflow.celox.io
- Dashboard: https://taskflow.celox.io/dashboard
- Showcase: https://taskflow.celox.io/showcase
- Backend API: https://taskflow.celox.io/api
- Swagger UI: https://taskflow.celox.io/swagger-ui.html
Local Development:
- Frontend: http://localhost:8090
- Backend API: http://localhost:8080/api
- Swagger UI: http://localhost:8080/swagger-ui.html
- Admin:
admin/admin123 - Demo User:
demo/demo123
Das Projekt enthΓ€lt eine umfassende Test-Suite mit automatisierter CI/CD-Pipeline.
Die GitHub Actions Pipeline fΓΌhrt bei jedem Push automatisch aus:
- Backend Tests (JUnit 5, Mockito)
- Frontend Tests (Jest, React Testing Library)
- E2E Tests (Playwright)
cd backend
mvn testEnthΓ€lt:
- Unit Tests fΓΌr Controller, Services und DTOs
- Integration Tests mit Testcontainers
- Security Tests (Rate Limiting, Input Validation)
cd frontend
npm testEnthΓ€lt:
- Component Tests (React Testing Library)
- Redux Slice Tests
- Error Boundary Tests
cd frontend/e2e
npx playwright testTestet:
- Login/Logout Flow
- Task CRUD Operations
- Workflow Editor
cd backend
mvn verifyLive Demo: https://taskflow.celox.io/swagger-ui.html
Local Development: http://localhost:8080/swagger-ui.html
Authentication:
POST /api/v1/auth/register- Register new userPOST /api/v1/auth/login- Login
Tasks:
GET /api/v1/tasks- Get all tasksPOST /api/v1/tasks- Create taskPUT /api/v1/tasks/{id}- Update taskDELETE /api/v1/tasks/{id}- Delete task
Workflows:
GET /api/v1/workflows- Get all workflowsPOST /api/v1/workflows- Create workflowPUT /api/v1/workflows/{id}- Update workflowDELETE /api/v1/workflows/{id}- Delete workflow
Database Integration:
POST /api/v1/database/query- Execute SQL query (SELECT only, with security validation)
Email Integration:
POST /api/v1/email/send- Send email via SMTP with HTML support and variable interpolation
Code Execution:
POST /api/v1/code/execute- Execute JavaScript code in sandboxed GraalVM environment
Credentials:
GET /api/v1/credentials- Get user credentialsPOST /api/v1/credentials- Create credentialDELETE /api/v1/credentials/{id}- Delete credential
The application is deployed and running at https://taskflow.celox.io
Infrastructure:
- β HTTPS with Let's Encrypt SSL
- β Nginx Reverse Proxy
- β Docker Compose Orchestration
- β PostgreSQL 15 Database
- β Apache Kafka Event Streaming
- β Automated Certificate Renewal
# Backend
cd backend/task-service
docker build -t taskflow/task-service:latest .
cd ../notification-service
docker build -t taskflow/notification-service:latest .
# Frontend
cd ../../frontend
docker build -t taskflow/frontend:latest .cd infrastructure/docker
docker-compose up -d- Showcase / Skills Overview β
- Workflow Editor Guide
- Workflow Editor Technical
- Testing Guide
- Security Documentation
- Database Integration Guide
- Email Integration Guide
- Code Execution Guide
cd backend
mvn spring-boot:run -pl task-servicecd frontend
npm startTasks emit events (created, updated, completed, deleted) to Kafka topics. The Notification Service consumes these events and sends notifications.
task.created- New task eventstask.updated- Task update eventstask.completed- Task completion eventstask.deleted- Task deletion events
- Repository Pattern - Data Access Layer
- Factory Pattern - Event Creation
- Strategy Pattern - Notification Types
- Observer Pattern - Event Handling
- Builder Pattern - DTOs & Entities
The TaskFlow Platform includes comprehensive security measures:
| Feature | Description |
|---|---|
| Rate Limiting | 5-20 req/min per endpoint (Login, Code, DB, Email) |
| JWT Authentication | Secure token-based authentication with expiration |
| Input Validation | Bean Validation for all DTOs (@Valid, @NotBlank, @Email) |
| SQL Injection Protection | Keyword blocking, pattern detection, query type restrictions |
| Code Sandboxing | GraalVM with restricted permissions, timeout protection |
| Security Logging | All suspicious activity is logged and monitored |
| Error Handling | No stack traces in production, graceful degradation |
curl https://taskflow.celox.io/api/v1/healthFor detailed security documentation, see docs/SECURITY.md.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright Β© 2026 Martin Pfeffer
Martin Pfeffer Β© 2026
- Website: celox.io
- GitHub: @pepperonas
- Repository: https://github.com/pepperonas/taskflow-platform
- Spring Boot Team
- Apache Kafka Community
- React Team
- Material-UI Team