first commit

This commit is contained in:
2026-03-24 15:03:35 +01:00
commit cdba16ebe8
162 changed files with 194406 additions and 0 deletions

47
.vscode/check_emulator.sh vendored Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
# Skript zum Prüfen ob Emulator läuft
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
echo "🔍 Prüfe auf Android Emulator..."
# Prüfe ob Emulator läuft
DEVICE=$(flutter devices 2>/dev/null | grep "emulator" | head -1)
if [ -n "$DEVICE" ]; then
echo -e "${GREEN}✅ Emulator läuft:${NC}"
echo " $DEVICE"
exit 0
else
echo -e "${RED}❌ Kein Emulator gefunden!${NC}"
echo ""
echo "Verfügbare Emulatoren:"
flutter emulators
echo ""
echo -e "${YELLOW}Starte Emulator...${NC}"
flutter emulators --launch Pixel_8_Pro_API_29 2>/dev/null &
echo ""
echo "Warte auf Emulator-Start (ca. 30-60 Sekunden)..."
# Warte bis Emulator verfügbar ist
for i in {1..30}; do
sleep 2
DEVICE=$(flutter devices 2>/dev/null | grep "emulator" | head -1)
if [ -n "$DEVICE" ]; then
echo -e "${GREEN}✅ Emulator bereit!${NC}"
echo " $DEVICE"
exit 0
fi
echo -n "."
done
echo ""
echo -e "${YELLOW}⚠️ Emulator startet noch...${NC}"
echo " Bitte warten und dann nochmal versuchen."
exit 1
fi

26
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"recommendations": [
// Flutter & Dart
"Dart-Code.flutter",
"Dart-Code.dart-code",
// UI-Entwicklung
"eamodio.gitlens",
"usernamehw.errorlens",
"PKief.material-icon-theme",
// Produktivität
"formulahendry.auto-rename-tag",
"streetsidesoftware.code-spell-checker",
"wmaurer.change-case",
"Tyriar.sort-lines",
// Flutter Tools
"alexisvt.flutter-snippets",
"Nash.awesome-flutter-snippets",
"miquelddg.dart-barrel-file-generator"
],
"unwantedRecommendations": [
"vscjava.vscode-java-pack"
]
}

89
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,89 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "🚀 HHA - Android Emulator (Debug)",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "debug",
"deviceId": "emulator-5554",
"preLaunchTask": "prelaunch: check deps",
"args": [
"--enable-software-rendering",
"--no-enable-impeller"
],
"console": "debugConsole",
"toolArgs": [
"--hot"
],
"cwd": "${workspaceFolder}/app",
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": "🚀 HHA - Android Emulator (Verbose)",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "debug",
"deviceId": "emulator-5554",
"preLaunchTask": "flutter: pub get",
"args": [
"--enable-software-rendering",
"--no-enable-impeller",
"--verbose"
],
"console": "terminal",
"cwd": "${workspaceFolder}/app"
},
{
"name": "📱 HHA - Android Device (Debug)",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "debug",
"preLaunchTask": "prelaunch: check deps",
"console": "debugConsole",
"cwd": "${workspaceFolder}/app"
},
{
"name": "🌐 HHA - Chrome (Debug)",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "debug",
"deviceId": "chrome",
"preLaunchTask": "prelaunch: check deps",
"console": "debugConsole",
"cwd": "${workspaceFolder}/app"
},
{
"name": "📊 HHA - Profile Mode",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "profile",
"preLaunchTask": "prelaunch: check deps",
"console": "debugConsole",
"cwd": "${workspaceFolder}/app"
},
{
"name": "⚡ HHA - Release Mode",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/app/lib/main.dart",
"flutterMode": "release",
"preLaunchTask": "prelaunch: check deps",
"console": "debugConsole",
"cwd": "${workspaceFolder}/app"
},
{
"name": "🔌 HHA - Attach to Running App",
"type": "dart",
"request": "attach",
"program": "${workspaceFolder}/app/lib/main.dart",
"console": "debugConsole",
"cwd": "${workspaceFolder}/app"
}
]
}

60
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,60 @@
{
// Dart & Flutter
"dart.flutterSdkPath": null,
"dart.openDevTools": "flutter",
"dart.previewFlutterUiGuides": true,
"dart.previewFlutterUiGuidesCustomTracking": true,
"dart.showInspectorNotificationsForWidgetErrors": true,
"dart.hotReloadOnSave": "always",
"dart.flutterHotReloadOnSave": "always",
"dart.debugExternalPackageLibraries": false,
"dart.debugSdkLibraries": false,
// Formatierung
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.rulers": [80, 120],
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 120,
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
// Dart-spezifisch
"[dart]": {
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.rulers": [80],
"editor.selectionHighlight": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.tabCompletion": "onlySnippets",
"editor.wordBasedSuggestions": "off"
},
// File Explorer
"files.exclude": {
"**/.dart_tool": true,
"**/.packages": true,
"**/.pub": true,
"**/build": true,
"**/*.freezed.dart": true,
"**/*.g.dart": true
},
// Linting
"dart.analysisExcludedFolders": [
"app/build",
"app/.dart_tool",
"backend/target"
],
// Emulator
"dart.flutterRunAdditionalArgs": [
"--enable-software-rendering"
],
// Testing
"dart.testAdditionalArgs": [
"--concurrency=4"
]
}

177
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,177 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "flutter: clean",
"type": "shell",
"command": "flutter",
"args": ["clean"],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "flutter: pub get",
"type": "shell",
"command": "flutter",
"args": ["pub", "get"],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "check: emulator",
"type": "shell",
"command": "${workspaceFolder}/.vscode/check_emulator.sh",
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": true
},
"problemMatcher": []
},
{
"label": "flutter: build debug",
"type": "shell",
"command": "flutter",
"args": [
"build",
"apk",
"--debug",
"-t",
"lib/main.dart"
],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": {
"pattern": {
"regexp": "."
}
}
},
{
"label": "flutter: run (terminal)",
"type": "shell",
"command": "flutter",
"args": [
"run",
"-d",
"emulator-5554",
"--debug"
],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": "build",
"isBackground": true,
"dependsOn": ["check: emulator", "flutter: pub get"],
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": {
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "^\\[\\+\\]",
"endsPattern": "^\\[.*\\]\\s*Synced.*"
}
}
},
{
"label": "flutter: devices",
"type": "shell",
"command": "flutter",
"args": ["devices"],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": true
},
"problemMatcher": []
},
{
"label": "flutter: doctor",
"type": "shell",
"command": "flutter",
"args": ["doctor", "-v"],
"options": {
"cwd": "${workspaceFolder}/app"
},
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": true
},
"problemMatcher": []
},
{
"label": "prelaunch: check deps",
"type": "shell",
"command": "flutter",
"args": ["pub", "get"],
"options": {
"cwd": "${workspaceFolder}/app"
},
"presentation": {
"echo": false,
"reveal": "silent",
"focus": false,
"panel": "shared"
},
"problemMatcher": []
}
]
}