Zammad Form fürs erstellen von Tickets ohne Anmeldung
  • Vue 60.4%
  • Python 17.8%
  • CSS 11.1%
  • JavaScript 3.9%
  • HTML 3.8%
  • Other 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-06 12:50:51 +02:00
.vscode Adding launch.json to Git, since the token is local on dev machine only. 2026-08-06 12:50:51 +02:00
backend Changed Port to 8081, 2026-08-05 20:00:47 +02:00
frontend added translation to form validation, removed building clear on back Button press 2026-08-06 12:42:34 +02:00
.dockerignore initial commit 2025-01-21 12:47:35 +01:00
.gitignore Adding launch.json to Git, since the token is local on dev machine only. 2026-08-06 12:50:51 +02:00
docker-compose.yml Changed Port to 8081, 2026-08-05 20:00:47 +02:00
Dockerfile Changed Port to 8081, 2026-08-05 20:00:47 +02:00
entrypoint.sh Changed Port to 8081, 2026-08-05 20:00:47 +02:00
README.md updated the Readme 2026-08-06 09:28:05 +02:00

Zammad Form

Dieses VUE 3 und Python Flask Projekt stellt ein kleines Formular zur Verfügung. Mit diesem Formular können Menschen ohne einen Zugang zu Zammad Tickets erstellen.

Das Projekt enthält ein Dockerfile und eine docker-compose config mit der man den Container erstellen kann.

Entwicklungsumgebung

Zum entwickeln benötigt man Python (>3.14) und nodejs auf dem System. Den Vue Js Dev Server startet man wie folgt:

cd frontend
npm install (das nur einmalig nötig)
npm run build
npm run dev

Um den Backend Server zu starten, braucht es die beiden Environment Vars ZAMMAD_URL und ZAMMAD_TOKEN. Diese konfiguriert man entweder im System oder per VS Code launch.json Datei

Manuell starten mit auto reload:

cd backend
pip install -r requirements.txt (das ist nur einmalig nötig)
python app.py

oder mit VS code launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Flask",
            "type": "debugpy",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "backend\\app.py",
                "FLASK_DEBUG": "1",
                "FLASK_RUN_PORT": "8080",
                "FLASK_ENV": "development",
                "ZAMMAD_URL": "https://tickets.XXXXX.net/api/v1/",
                "ZAMMAD_TOKEN": "XXXXX"
            },
            "autoReload": {
                "enable": true,
                "pattern": [
                    "**/*.py"
                ]
            },
            "args": [
                "run",
                "--no-debugger"
            ],
            "jinja": true,
            "autoStartBrowser": false
        }
    ]
}

Es bietet sich an, ein Zammad lokal auf dem Entwicklungsrechner zu haben um damit die App zu testen. Man kann das auch mit docker-compose machen und muss dann nur das extra Object "gebaeude" einstellen sowie die Gruppen anlegen damit die API richtig funktioniert. Bei dem Gebäude Objekt muss "Benutzerdefinierte sortierung" angehakt sein, sonst gibt die Zammad API ein falsches Datenformat zurück.

Im Admin User der Testinstanz ein Token anlegen und hier in die launch.json oder Umgebungsvariable packen.

Docker Compose

Container bauen:

docker compose build

Container laufen lassen:

docker compose run (-d)