- Vue 60.4%
- Python 17.8%
- CSS 11.1%
- JavaScript 3.9%
- HTML 3.8%
- Other 3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .vscode | ||
| backend | ||
| frontend | ||
| .dockerignore | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| entrypoint.sh | ||
| README.md | ||
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)