Projekt- & Aufgabenverwaltung
Moderne Projektmanagement-App mit PHP-Backend und JSON-Datenspeicherung.
- Benutzer-Login & Registrierung
- Projekte erstellen und verwalten mit Farbmarkierung
- To-Do-Listen mit Kategorien, Prioritäten und Fälligkeitsdaten
- Kanban Board mit Drag & Drop (Standardansicht) — Karten anklicken zum Bearbeiten
- Drag & Drop Sortierung in der Listenansicht
- Globale Suche über Projekte und Aufgaben
- Dunkelmodus (erkennt System-Einstellung automatisch)
- 6 verschiedene Farbthemen mit benutzerspezifischen Einstellungen
- Aktivitäts-Log im Dashboard
- Archiv-Funktion für erledigte Aufgaben
- Export/Import als JSON
- In-App Update-System (git pull)
- Dynamische Animationen & sanfte Übergänge
- Mehrsprachig (DE/EN)
- Setup-Assistent für einfache Erstinstallation
- Benutzerrollen (Admin/User) und Projekt-Berechtigungen
- Projekt-Mitgliederverwaltung (Eigentümer/Bearbeiter/Betrachter) mit Schnellzugriff auf Projektkacheln
- Toast-Benachrichtigungen (ersetzt Browser-Dialoge)
- Benachrichtigungssystem (z.B. bei Projektzuweisung)
- Soft-Delete mit 30-Tage-Papierkorb & Wiederherstellung
- Eigene Bestätigungsdialoge (keine Browser-Popups)
- Automatisches Daten-Migrationssystem für nahtlose Updates
- Docker-Unterstützung für einfaches Deployment
- AD/LDAP-Integration (Beta — Anbindung an Active Directory / LDAP-Server)
![]() Dashboard |
![]() Kanban Board |
![]() Aufgabenliste |
![]() Projektübersicht |
- Changelog
- Dokumentationsübersicht
- Systemüberblick
- Architektur
- Datenmodell
- Frontend / app.js
- API / api.php
- Installation / Docker
- PHP 7.4 oder höher
- Webserver (Apache, Nginx oder PHP Built-in Server)
- Schreibrechte für das
/dataVerzeichnis
git clone https://github.com/floppy007/taskflow.git
cd taskflowDie docker-compose.yml anpassen (Admin-Passwort ändern!):
services:
taskflow:
image: floppy001/taskflow:latest
container_name: taskflow
ports:
- "8080:80"
volumes:
- taskflow-data:/var/www/html/data
environment:
- TZ=Europe/Berlin
# Admin-Account (wird nur beim ersten Start erstellt)
- TASKFLOW_ADMIN_USER=admin
- TASKFLOW_ADMIN_PASS=dein-sicheres-passwort
- TASKFLOW_ADMIN_NAME=Administrator
restart: unless-stopped
volumes:
taskflow-data:docker compose up -dhttp://localhost:8080 öffnen und einloggen. Der Admin-Account wird beim ersten Start automatisch erstellt.
- In der Unraid-Oberfläche unter Docker → Template Repositories folgende URL hinzufügen:
https://github.com/floppy007/taskflow - Unter Docker → Add Container das Template TaskFlow auswählen.
- Admin-Zugangsdaten und Zeitzone anpassen, dann auf Apply klicken.
Das Admin-Passwort wird nur beim ersten Start verwendet. Danach kann es in der App geändert werden.
install.phpherunterladen und auf den Webserver kopieren (z.B./var/www/html/taskflow/).http://localhost/taskflow/install.phpim Browser öffnen.- Auf "Download & Install TaskFlow" klicken — der Installer lädt alle Dateien von GitHub herunter.
- Admin-Zugangsdaten eingeben und auf "Create Account & Finish" klicken.
Der Installer löscht sich automatisch nach erfolgreicher Einrichtung.
git clone https://github.com/floppy007/taskflow.git /var/www/html/taskflow
chmod 755 /var/www/html/taskflow/dataDann http://localhost/taskflow öffnen und den Setup-Assistenten durchlaufen.
taskflow/
├── install.php # Setup-Assistent (löscht sich nach Installation)
├── index.php # Hauptanwendung (HTML/CSS)
├── app.js # Frontend-Logik (JavaScript)
├── api.php # Backend-API
├── version.json # Versionsinformation für Update-System
├── logo.png # Anwendungslogo
├── Dockerfile # Docker-Image-Definition
├── docker-compose.yml # Docker Compose Konfiguration
├── docker-entrypoint.sh # Auto-Setup beim ersten Start
├── unraid-template/
│ └── taskflow.xml # Unraid Docker-Template
├── lang/
│ ├── de.json # Deutsche Übersetzungen
│ └── en.json # Englische Übersetzungen
├── data/ # JSON-Datenspeicher (wird vom Installer erstellt)
│ ├── .htaccess # Zugriffsschutz
│ ├── users.json # Benutzerdaten
│ ├── projects.json # Projekte & Aufgaben
│ └── activity.json # Aktivitätsprotokoll
├── LICENSE # MIT-Lizenz mit Namensnennung
└── README.md
WICHTIG: Für den Produktiv-Einsatz:
-
HTTPS verwenden: Niemals über HTTP in Produktion betreiben!
-
data-Ordner schützen: Der Installer erstellt automatisch eine
.htaccessim/data-Ordner. Prüfe, ob sie vorhanden ist:Order deny,allow Deny from all
-
Installer gelöscht? Nach der Installation sicherstellen, dass
install.phpnicht mehr existiert. Falls doch, manuell löschen. -
Session-Sicherheit: In
api.phpdie Session-Einstellungen anpassen:session_set_cookie_params([ 'secure' => true, 'httponly' => true, 'samesite' => 'Strict' ]);
Unter Einstellungen > Updates auf "Update prüfen" klicken. Falls eine neue Version verfügbar ist, kann sie direkt per "Update installieren" von GitHub geladen werden.
Benutzerdaten (data/users.json, data/projects.json) werden bei Updates nicht überschrieben.
cd taskflow
git pull
docker compose build
docker compose up -dDaten bleiben im Docker Volume erhalten.
Siehe LICENSE für Details. Frei nutzbar, veränderbar und verteilbar — der Copyright-Footer in der App muss erhalten bleiben.
- User login & registration
- Create and manage projects with color coding
- To-do lists with categories, priorities, and due dates
- Kanban board with drag & drop (default view) — click cards to edit
- Drag & drop task reordering in list view
- Global search across projects and tasks
- Dark mode (auto-detects system preference)
- 6 color themes with per-user preferences
- Activity log on dashboard
- Archive function for completed tasks
- Export/Import as JSON
- In-app update system (git pull)
- Dynamic animations & smooth transitions
- Multi-language support (DE/EN)
- Setup wizard for easy first-time installation
- User roles (Admin/User) and project permissions
- Project member management (Owner/Editor/Viewer) with quick access from project cards
- Toast notifications (replaces browser dialogs)
- Notification system (e.g. when added to a project)
- Soft-delete with 30-day trash & restore
- Custom confirm dialogs (no browser popups)
- Automatic data migration system for seamless updates
- Docker support for easy deployment
- AD/LDAP integration (Beta — connect to Active Directory / LDAP servers)
![]() Dashboard |
![]() Kanban Board |
![]() Task List |
![]() Project Overview |
- PHP 7.4 or higher
- Web server (Apache, Nginx, or PHP built-in server)
- Write permissions for the
/datadirectory
git clone https://github.com/floppy007/taskflow.git
cd taskflowEdit docker-compose.yml (change the admin password!):
services:
taskflow:
image: floppy001/taskflow:latest
container_name: taskflow
ports:
- "8080:80"
volumes:
- taskflow-data:/var/www/html/data
environment:
- TZ=Europe/Berlin
# Admin account (only created on first start)
- TASKFLOW_ADMIN_USER=admin
- TASKFLOW_ADMIN_PASS=your-secure-password
- TASKFLOW_ADMIN_NAME=Administrator
restart: unless-stopped
volumes:
taskflow-data:docker compose up -dOpen http://localhost:8080 and log in. The admin account is created automatically on first start.
- In the Unraid web UI, go to Docker → Template Repositories and add:
https://github.com/floppy007/taskflow - Go to Docker → Add Container and select the TaskFlow template.
- Adjust admin credentials and timezone, then click Apply.
The admin password is only used on first start. You can change it in the app afterwards.
- Download
install.phpand copy it to your web server directory (e.g./var/www/html/taskflow/). - Open
http://localhost/taskflow/install.phpin your browser. - Click "Download & Install TaskFlow" — the installer downloads all files from GitHub.
- Enter your admin credentials and click "Create Account & Finish".
The installer deletes itself automatically after successful setup.
git clone https://github.com/floppy007/taskflow.git /var/www/html/taskflow
chmod 755 /var/www/html/taskflow/dataThen open http://localhost/taskflow and complete the setup wizard.
taskflow/
├── install.php # Setup wizard (auto-deletes after install)
├── index.php # Main application (HTML/CSS)
├── app.js # Frontend logic (JavaScript)
├── api.php # Backend API
├── version.json # Version info for update system
├── logo.png # Application logo
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
├── docker-entrypoint.sh # Auto-setup on first start
├── unraid-template/
│ └── taskflow.xml # Unraid Docker template
├── lang/
│ ├── de.json # German translations
│ └── en.json # English translations
├── data/ # JSON data storage (created by installer)
│ ├── .htaccess # Access protection
│ ├── users.json # User data
│ ├── projects.json # Projects & to-dos
│ └── activity.json # Activity log
├── LICENSE # MIT License with Attribution Clause
└── README.md
IMPORTANT: For production use:
-
Use HTTPS: Never run over HTTP in production!
-
Protect the data folder: The installer creates a
.htaccessin/dataautomatically. Verify it exists:Order deny,allow Deny from all
-
Verify installer is removed: After installation, make sure
install.phpno longer exists. If it does, delete it manually. -
Session security: Adjust session settings in
api.php:session_set_cookie_params([ 'secure' => true, 'httponly' => true, 'samesite' => 'Strict' ]);
Go to Settings > Updates and click "Check for update". If a new version is available, click "Install update" to pull the latest changes from GitHub.
User data (data/users.json, data/projects.json) is excluded from updates via .gitignore.
cd taskflow
git pull
docker compose build
docker compose up -dYour data is preserved in the Docker volume.
See LICENSE for full details. Free to use, modify, and distribute — the copyright footer in the app must remain intact.
Made with TaskFlow




