chore: Docs umstrukturiert, Client-Updates, Scripts nach scripts/
This commit is contained in:
13
scripts/COMMIT_COMMANDS.txt
Normal file
13
scripts/COMMIT_COMMANDS.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Führe diese Befehle in deinem Git Bash oder Terminal aus:
|
||||
|
||||
cd c:\Users\User\Documents\GitHub\ANDJJJJJJ
|
||||
git add .
|
||||
git commit -m "fix: TypeScript errors & build fixes for Control Panel Redesign
|
||||
|
||||
- Fix unused imports (Trash, Filter, Bell, CategoryAdvanced)
|
||||
- Fix undefined checks for cleanup settings
|
||||
- Fix cleanupPreview undefined checks
|
||||
- Fix useTheme unused parameter
|
||||
- Fix companyLabels type safety
|
||||
- Build erfolgreich durchgeführt"
|
||||
git push
|
||||
71
scripts/COMMIT_MESSAGE.md
Normal file
71
scripts/COMMIT_MESSAGE.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Control Panel Redesign & UI Improvements
|
||||
|
||||
## Hauptänderungen
|
||||
|
||||
### 🎨 Control Panel komplettes Redesign (Version 2.0)
|
||||
- **Card-basiertes Layout**: Kategorien werden jetzt als interaktive Cards in einem Grid-Layout dargestellt (statt endloser Liste)
|
||||
- **Side Panel Integration**: Click-to-Configure Pattern - Klick auf Category Card öffnet Side Panel für detaillierte Konfiguration
|
||||
- **Moderne UX**: Dashboard-artiges Design, weniger wie klassische Settings-Seite, mehr wie moderne SaaS-Produkte
|
||||
|
||||
### 🧹 Cleanup Tab Redesign
|
||||
- **Große Toggle-Cards**: Visuell prominente Cards für "Auto cleanup read emails" und "Delete promotions after X days"
|
||||
- **Slider-Komponente**: Neue Slider-Komponente für intuitive Tage-Auswahl (statt Number Input)
|
||||
- **Preset Buttons**: Schnellzugriff auf 7/14/30 Tage für Promotion Cleanup
|
||||
- **Preview Section**: Zeigt betroffene E-Mails an (wenn Daten vorhanden)
|
||||
- **Warnungen**: Ruhige Info-Banner bei Delete-Aktionen
|
||||
|
||||
### 🏷️ Labels Tab Redesign
|
||||
- **Tabellenansicht**: Professionelle Tabelle mit Name, Status, Category und Actions
|
||||
- **Side Panel Editor**: Label-Erstellung/Bearbeitung in Side Panel statt inline Form
|
||||
- **Responsive Table**: Spalten werden auf Mobile ausgeblendet, wichtige Info bleibt sichtbar
|
||||
- **Import/Export**: Buttons für Label-Import/Export
|
||||
|
||||
### 📐 Layout Verbesserungen
|
||||
- **Volle Breite**: Dashboard und Settings nutzen jetzt die gesamte verfügbare Breite (keine max-width Beschränkung mehr)
|
||||
- **Responsive Navigation**: Side Panels werden auf Mobile zu Fullscreen-Modals
|
||||
- **Verbesserte Header**: Humanere Untertitel und bessere Button-Anordnung
|
||||
|
||||
### 🌙 Dark Mode Verbesserungen
|
||||
- **Privacy & Security**: Alle weißen Felder haben jetzt Dark Mode Varianten (grüne, blaue, rote Info-Boxen)
|
||||
- **Input-Komponente**: Dark Mode Hintergrund korrigiert (dark:bg-slate-800 statt dark:bg-slate-100)
|
||||
- **Slider-Komponente**: Dark Mode Styles für Thumb (Webkit & Mozilla)
|
||||
- **Chevron Icons**: Dark Mode Farben für Advanced Options Toggle
|
||||
- **Konsistenz**: Alle Komponenten haben jetzt konsistente Dark Mode Unterstützung
|
||||
|
||||
## Neue Komponenten
|
||||
|
||||
### `client/src/components/ui/side-panel.tsx`
|
||||
- Radix UI Dialog-basierte Side Panel Komponente
|
||||
- Slide-in Animation von rechts
|
||||
- Responsive: Fullscreen auf Mobile, 480px auf Desktop
|
||||
- Dark Mode Support
|
||||
|
||||
### `client/src/components/ui/slider.tsx`
|
||||
- Range Input Slider Komponente
|
||||
- Dark Mode Support für Track und Thumb
|
||||
- Customizable min/max/step Werte
|
||||
|
||||
## Geänderte Dateien
|
||||
|
||||
- `client/src/pages/Settings.tsx` - Control Panel komplett neu strukturiert
|
||||
- `client/src/components/PrivacySecurity.tsx` - Dark Mode für alle Info-Boxen
|
||||
- `client/src/components/ui/input.tsx` - Dark Mode Hintergrund korrigiert
|
||||
- `client/src/pages/Dashboard.tsx` - Volle Breite Layout
|
||||
- `client/src/types/settings.ts` - Keine Änderungen (nur Whitespace)
|
||||
|
||||
## Technische Details
|
||||
|
||||
- **State Management**: Side Panel State für Category Details und Label Editor
|
||||
- **Responsive Design**: Grid-Layouts passen sich an (1 Spalte Mobile, 2 Tablet, 3 Desktop)
|
||||
- **Accessibility**: Keyboard Navigation, ARIA Labels, Focus States
|
||||
- **Performance**: useMemo für gefilterte/sortierte Listen
|
||||
|
||||
## Design-Prinzipien
|
||||
|
||||
- Viel Whitespace zwischen Cards
|
||||
- Ruhige Farben (keine grellen Akzente)
|
||||
- Cards statt Listen
|
||||
- "Click → Configure" statt sofort sichtbare Controls
|
||||
- Klare Typografie-Hierarchie
|
||||
- Icons sparsam aber sinnvoll
|
||||
- Dark Mode optimiert (nicht zu kontrastreich)
|
||||
62
scripts/FINAL_COMMIT.bat
Normal file
62
scripts/FINAL_COMMIT.bat
Normal file
@@ -0,0 +1,62 @@
|
||||
@echo off
|
||||
REM Finaler Commit und Push - Führe dieses Skript als Administrator aus
|
||||
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo ========================================
|
||||
echo Git Commit und Push
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM Versuche Git zu finden
|
||||
set GIT_PATH=
|
||||
if exist "C:\Program Files\Git\cmd\git.exe" set GIT_PATH=C:\Program Files\Git\cmd\git.exe
|
||||
if exist "C:\Program Files (x86)\Git\cmd\git.exe" set GIT_PATH=C:\Program Files (x86)\Git\cmd\git.exe
|
||||
if exist "%LOCALAPPDATA%\Programs\Git\cmd\git.exe" set GIT_PATH=%LOCALAPPDATA%\Programs\Git\cmd\git.exe
|
||||
|
||||
if "%GIT_PATH%"=="" (
|
||||
echo Git wurde nicht gefunden!
|
||||
echo.
|
||||
echo Bitte führe diese Befehle manuell in Git Bash aus:
|
||||
echo cd c:\Users\User\Documents\GitHub\ANDJJJJJJ
|
||||
echo git add .
|
||||
echo git commit -m "fix: TypeScript errors & build fixes for Control Panel Redesign"
|
||||
echo git push
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Git gefunden: %GIT_PATH%
|
||||
echo.
|
||||
|
||||
echo [1/3] Staging aller Aenderungen...
|
||||
"%GIT_PATH%" add .
|
||||
if errorlevel 1 (
|
||||
echo Fehler beim Staging!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [2/3] Erstelle Commit...
|
||||
"%GIT_PATH%" commit -m "fix: TypeScript errors & build fixes for Control Panel Redesign" -m "- Fix unused imports (Trash, Filter, Bell, CategoryAdvanced)" -m "- Fix undefined checks for cleanup settings" -m "- Fix cleanupPreview undefined checks" -m "- Fix useTheme unused parameter" -m "- Fix companyLabels type safety" -m "- Build erfolgreich durchgefuehrt"
|
||||
if errorlevel 1 (
|
||||
echo Fehler beim Commit!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [3/3] Pushe Aenderungen...
|
||||
"%GIT_PATH%" push
|
||||
if errorlevel 1 (
|
||||
echo Fehler beim Push!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Erfolgreich committed und gepusht!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo Naechster Schritt: Deploye client/dist auf den Server
|
||||
pause
|
||||
52
scripts/README.md
Normal file
52
scripts/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Scripts
|
||||
|
||||
Dieser Ordner enthält alle Hilfs-Scripts für das Projekt.
|
||||
|
||||
## 🚀 Aktive Scripts
|
||||
|
||||
### Deployment
|
||||
|
||||
- **deploy-build.js** - Node.js Script für Build-Deployment (veraltet, wird durch Webhook ersetzt)
|
||||
- **deploy-to-server.mjs** - Automatisches Deployment-Skript (wird vom Webhook aufgerufen)
|
||||
|
||||
### Setup
|
||||
|
||||
- **setup-appwrite.ps1** - Appwrite Setup-Script
|
||||
- **setup-production.ps1** - Production Setup-Script
|
||||
|
||||
## 📦 Veraltete Scripts (können entfernt werden)
|
||||
|
||||
Die folgenden Scripts sind veraltet und werden nicht mehr benötigt:
|
||||
|
||||
- `git-commit.bat` - Git-Commits sollten direkt über Git gemacht werden
|
||||
- `git-commit.sh` - Git-Commits sollten direkt über Git gemacht werden
|
||||
- `git-commit-fix.bat` - Git-Commits sollten direkt über Git gemacht werden
|
||||
- `FINAL_COMMIT.bat` - Git-Commits sollten direkt über Git gemacht werden
|
||||
- `run-git-commit.ps1` - Git-Commits sollten direkt über Git gemacht werden
|
||||
- `COMMIT_COMMANDS.txt` - Temporäre Datei
|
||||
- `COMMIT_MESSAGE.md` - Temporäre Datei
|
||||
|
||||
**Empfehlung:** Diese Dateien können gelöscht werden, da Git-Commits direkt über `git commit` gemacht werden sollten.
|
||||
|
||||
## 📝 Verwendung
|
||||
|
||||
### Deployment-Script (automatisch)
|
||||
|
||||
Das Deployment-Script wird automatisch vom Webhook-Handler aufgerufen. Siehe `docs/deployment/GITEA_WEBHOOK_SETUP.md` für Details.
|
||||
|
||||
### Setup-Scripts
|
||||
|
||||
```powershell
|
||||
# Appwrite Setup
|
||||
.\setup-appwrite.ps1
|
||||
|
||||
# Production Setup
|
||||
.\setup-production.ps1
|
||||
```
|
||||
|
||||
## 🔧 Neue Scripts hinzufügen
|
||||
|
||||
Wenn du neue Scripts hinzufügst:
|
||||
1. Dokumentiere sie in dieser README
|
||||
2. Füge sie zu `.gitignore` hinzu, falls sie sensible Daten enthalten
|
||||
3. Stelle sicher, dass sie plattformübergreifend funktionieren (oder dokumentiere Plattform-Anforderungen)
|
||||
31
scripts/deploy-build.js
Normal file
31
scripts/deploy-build.js
Normal file
@@ -0,0 +1,31 @@
|
||||
// Node.js Script zum Ausführen von Git-Befehlen
|
||||
const { execSync } = require('child_process');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const projectRoot = __dirname;
|
||||
|
||||
try {
|
||||
console.log('📦 Staging aller Änderungen...');
|
||||
execSync('git add .', { cwd: projectRoot, stdio: 'inherit' });
|
||||
|
||||
console.log('💾 Erstelle Commit...');
|
||||
const commitMessage = `fix: TypeScript errors & build fixes for Control Panel Redesign
|
||||
|
||||
- Fix unused imports (Trash, Filter, Bell, CategoryAdvanced)
|
||||
- Fix undefined checks for cleanup settings
|
||||
- Fix cleanupPreview undefined checks
|
||||
- Fix useTheme unused parameter
|
||||
- Fix companyLabels type safety
|
||||
- Build erfolgreich durchgeführt`;
|
||||
|
||||
execSync(`git commit -m "${commitMessage.replace(/"/g, '\\"')}"`, { cwd: projectRoot, stdio: 'inherit' });
|
||||
|
||||
console.log('🚀 Pushe Änderungen...');
|
||||
execSync('git push', { cwd: projectRoot, stdio: 'inherit' });
|
||||
|
||||
console.log('\n✅ Erfolgreich committed und gepusht!');
|
||||
} catch (error) {
|
||||
console.error('❌ Fehler:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
17
scripts/git-commit-fix.bat
Normal file
17
scripts/git-commit-fix.bat
Normal file
@@ -0,0 +1,17 @@
|
||||
@echo off
|
||||
REM Git Commit Script für TypeScript Fixes
|
||||
|
||||
cd /d c:\Users\User\Documents\GitHub\ANDJJJJJJ
|
||||
|
||||
echo Staging aller Aenderungen...
|
||||
git add .
|
||||
|
||||
echo Erstelle Commit...
|
||||
git commit -m "fix: TypeScript errors & build fixes for Control Panel Redesign" -m "- Fix unused imports (Trash, Filter, Bell, CategoryAdvanced)" -m "- Fix undefined checks for cleanup settings" -m "- Fix cleanupPreview undefined checks" -m "- Fix useTheme unused parameter" -m "- Fix companyLabels type safety" -m "- Build erfolgreich durchgefuehrt"
|
||||
|
||||
echo Pushe Aenderungen...
|
||||
git push
|
||||
|
||||
echo.
|
||||
echo Erfolgreich committed und gepusht!
|
||||
pause
|
||||
16
scripts/git-commit.bat
Normal file
16
scripts/git-commit.bat
Normal file
@@ -0,0 +1,16 @@
|
||||
@echo off
|
||||
REM Git Commit Script für Control Panel Redesign (Windows Batch)
|
||||
|
||||
cd /d c:\Users\User\Documents\GitHub\ANDJJJJJJ
|
||||
|
||||
REM Alle Änderungen stagen
|
||||
git add .
|
||||
|
||||
REM Commit mit detaillierter Nachricht
|
||||
git commit -m "feat: Control Panel Redesign v2.0 & UI Improvements" -m "🎨 Control Panel komplettes Redesign (Version 2.0)" -m "- Card-basiertes Layout: Kategorien als interaktive Cards im Grid" -m "- Side Panel Integration: Click-to-Configure Pattern für Category Details" -m "- Moderne UX: Dashboard-artiges Design statt klassischer Settings-Seite" -m "" -m "🧹 Cleanup Tab Redesign" -m "- Große Toggle-Cards für Auto Cleanup Features" -m "- Neue Slider-Komponente für intuitive Tage-Auswahl" -m "- Preset Buttons (7/14/30 Tage) für Promotion Cleanup" -m "- Preview Section für betroffene E-Mails" -m "" -m "🏷️ Labels Tab Redesign" -m "- Professionelle Tabellenansicht mit Name, Status, Category, Actions" -m "- Side Panel Editor für Label-Erstellung/Bearbeitung" -m "- Responsive Table (Spalten werden auf Mobile ausgeblendet)" -m "- Import/Export Funktionalität" -m "" -m "📐 Layout Verbesserungen" -m "- Volle Breite: Dashboard und Settings nutzen gesamte verfügbare Breite" -m "- Responsive Navigation: Side Panels werden auf Mobile zu Fullscreen-Modals" -m "- Verbesserte Header mit humaneren Untertiteln" -m "" -m "🌙 Dark Mode Verbesserungen" -m "- Privacy & Security: Alle Info-Boxen haben Dark Mode Varianten" -m "- Input-Komponente: Dark Mode Hintergrund korrigiert" -m "- Slider-Komponente: Dark Mode Styles für Track und Thumb" -m "- Chevron Icons: Dark Mode Farben für Advanced Options" -m "- Konsistente Dark Mode Unterstützung in allen Komponenten" -m "" -m "✨ Neue Komponenten" -m "- client/src/components/ui/side-panel.tsx: Radix UI Dialog-basierte Side Panel" -m "- client/src/components/ui/slider.tsx: Range Input Slider mit Dark Mode" -m "" -m "📝 Geänderte Dateien" -m "- client/src/pages/Settings.tsx: Control Panel komplett neu strukturiert" -m "- client/src/components/PrivacySecurity.tsx: Dark Mode für alle Info-Boxen" -m "- client/src/components/ui/input.tsx: Dark Mode Hintergrund korrigiert" -m "- client/src/pages/Dashboard.tsx: Volle Breite Layout"
|
||||
|
||||
REM Pushen
|
||||
git push
|
||||
|
||||
echo ✅ Commit erfolgreich erstellt und gepusht!
|
||||
pause
|
||||
54
scripts/git-commit.sh
Normal file
54
scripts/git-commit.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# Git Commit Script für Control Panel Redesign
|
||||
|
||||
cd c:\Users\User\Documents\GitHub\ANDJJJJJJ
|
||||
|
||||
# Alle Änderungen stagen
|
||||
git add .
|
||||
|
||||
# Commit mit detaillierter Nachricht
|
||||
git commit -m "feat: Control Panel Redesign v2.0 & UI Improvements
|
||||
|
||||
🎨 Control Panel komplettes Redesign (Version 2.0)
|
||||
- Card-basiertes Layout: Kategorien als interaktive Cards im Grid
|
||||
- Side Panel Integration: Click-to-Configure Pattern für Category Details
|
||||
- Moderne UX: Dashboard-artiges Design statt klassischer Settings-Seite
|
||||
|
||||
🧹 Cleanup Tab Redesign
|
||||
- Große Toggle-Cards für Auto Cleanup Features
|
||||
- Neue Slider-Komponente für intuitive Tage-Auswahl
|
||||
- Preset Buttons (7/14/30 Tage) für Promotion Cleanup
|
||||
- Preview Section für betroffene E-Mails
|
||||
|
||||
🏷️ Labels Tab Redesign
|
||||
- Professionelle Tabellenansicht mit Name, Status, Category, Actions
|
||||
- Side Panel Editor für Label-Erstellung/Bearbeitung
|
||||
- Responsive Table (Spalten werden auf Mobile ausgeblendet)
|
||||
- Import/Export Funktionalität
|
||||
|
||||
📐 Layout Verbesserungen
|
||||
- Volle Breite: Dashboard und Settings nutzen gesamte verfügbare Breite
|
||||
- Responsive Navigation: Side Panels werden auf Mobile zu Fullscreen-Modals
|
||||
- Verbesserte Header mit humaneren Untertiteln
|
||||
|
||||
🌙 Dark Mode Verbesserungen
|
||||
- Privacy & Security: Alle Info-Boxen haben Dark Mode Varianten
|
||||
- Input-Komponente: Dark Mode Hintergrund korrigiert
|
||||
- Slider-Komponente: Dark Mode Styles für Track und Thumb
|
||||
- Chevron Icons: Dark Mode Farben für Advanced Options
|
||||
- Konsistente Dark Mode Unterstützung in allen Komponenten
|
||||
|
||||
✨ Neue Komponenten
|
||||
- client/src/components/ui/side-panel.tsx: Radix UI Dialog-basierte Side Panel
|
||||
- client/src/components/ui/slider.tsx: Range Input Slider mit Dark Mode
|
||||
|
||||
📝 Geänderte Dateien
|
||||
- client/src/pages/Settings.tsx: Control Panel komplett neu strukturiert
|
||||
- client/src/components/PrivacySecurity.tsx: Dark Mode für alle Info-Boxen
|
||||
- client/src/components/ui/input.tsx: Dark Mode Hintergrund korrigiert
|
||||
- client/src/pages/Dashboard.tsx: Volle Breite Layout"
|
||||
|
||||
# Pushen
|
||||
git push
|
||||
|
||||
echo "✅ Commit erfolgreich erstellt und gepusht!"
|
||||
77
scripts/run-git-commit.ps1
Normal file
77
scripts/run-git-commit.ps1
Normal file
@@ -0,0 +1,77 @@
|
||||
# PowerShell Script zum Ausführen von Git-Befehlen
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Git-Pfade zum Durchsuchen
|
||||
$gitPaths = @(
|
||||
"git", # Falls im PATH
|
||||
"C:\Program Files\Git\bin\git.exe",
|
||||
"C:\Program Files (x86)\Git\bin\git.exe",
|
||||
"$env:LOCALAPPDATA\Programs\Git\bin\git.exe",
|
||||
"$env:ProgramFiles\Git\cmd\git.exe",
|
||||
"$env:ProgramFiles(x86)\Git\cmd\git.exe"
|
||||
)
|
||||
|
||||
$gitExe = $null
|
||||
foreach ($path in $gitPaths) {
|
||||
try {
|
||||
if ($path -eq "git") {
|
||||
$gitExe = Get-Command git -ErrorAction SilentlyContinue
|
||||
if ($gitExe) {
|
||||
$gitExe = $gitExe.Source
|
||||
break
|
||||
}
|
||||
} else {
|
||||
if (Test-Path $path) {
|
||||
$gitExe = $path
|
||||
break
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $gitExe) {
|
||||
Write-Host "Git wurde nicht gefunden. Bitte installiere Git oder fuege es zum PATH hinzu." -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host "Alternativ führe diese Befehle manuell in Git Bash aus:" -ForegroundColor Yellow
|
||||
Write-Host "cd c:\Users\User\Documents\GitHub\ANDJJJJJJ" -ForegroundColor Cyan
|
||||
Write-Host "git add ." -ForegroundColor Cyan
|
||||
Write-Host "git commit -m `"feat: Control Panel v2.0 - Cards, Side Panels, Dark Mode, volle Breite`"" -ForegroundColor Cyan
|
||||
Write-Host "git push" -ForegroundColor Cyan
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Git gefunden: $gitExe" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Zum Projektverzeichnis wechseln
|
||||
Set-Location "c:\Users\User\Documents\GitHub\ANDJJJJJJ"
|
||||
|
||||
# Git-Befehle ausführen
|
||||
Write-Host "Staging aller Aenderungen..." -ForegroundColor Yellow
|
||||
& $gitExe add .
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Fehler beim Staging" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Erstelle Commit..." -ForegroundColor Yellow
|
||||
& $gitExe commit -m "feat: Control Panel v2.0 - Cards, Side Panels, Dark Mode, volle Breite"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Fehler beim Commit" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Pushe Aenderungen..." -ForegroundColor Yellow
|
||||
& $gitExe push
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Fehler beim Push" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "Erfolgreich committed und gepusht!" -ForegroundColor Green
|
||||
70
scripts/setup-appwrite.ps1
Normal file
70
scripts/setup-appwrite.ps1
Normal file
@@ -0,0 +1,70 @@
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# EmailSorter - Appwrite Setup Script
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# ⚠️ WICHTIG: Diese Datei ist VERALTET!
|
||||
#
|
||||
# Verwende stattdessen:
|
||||
# cd server
|
||||
# npm run bootstrap:v2
|
||||
#
|
||||
# Oder setze die Umgebungsvariablen in server/.env und führe dann aus:
|
||||
# cd server
|
||||
# node bootstrap-v2.mjs
|
||||
#
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
Write-Host "`n⚠️ WARNUNG: Diese Datei ist veraltet!" -ForegroundColor Yellow
|
||||
Write-Host "`nBitte verwende stattdessen:" -ForegroundColor White
|
||||
Write-Host " 1. Erstelle server/.env mit deinen Appwrite Credentials" -ForegroundColor Gray
|
||||
Write-Host " 2. Führe aus: cd server && npm run bootstrap:v2" -ForegroundColor Gray
|
||||
Write-Host "`nSiehe APPWRITE_SETUP.md für Details." -ForegroundColor Cyan
|
||||
Write-Host "`n"
|
||||
|
||||
# -----------------------------
|
||||
# CONFIG (NUR FALLS .env NICHT VORHANDEN)
|
||||
# -----------------------------
|
||||
# ⚠️ KEINE HARDCODED API KEYS MEHR!
|
||||
# Lese aus server/.env oder setze als Umgebungsvariablen
|
||||
|
||||
if (-not (Test-Path ".\server\.env")) {
|
||||
Write-Host "❌ Keine server/.env Datei gefunden!" -ForegroundColor Red
|
||||
Write-Host "`nBitte erstelle server/.env mit:" -ForegroundColor Yellow
|
||||
Write-Host " APPWRITE_ENDPOINT=https://appwrite.webklar.com/v1" -ForegroundColor Gray
|
||||
Write-Host " APPWRITE_PROJECT_ID=deine_projekt_id" -ForegroundColor Gray
|
||||
Write-Host " APPWRITE_API_KEY=dein_api_key" -ForegroundColor Gray
|
||||
Write-Host " APPWRITE_DATABASE_ID=emailsorter" -ForegroundColor Gray
|
||||
Write-Host "`nSiehe server/env.example für ein Template." -ForegroundColor Cyan
|
||||
exit 1
|
||||
}
|
||||
|
||||
# -----------------------------
|
||||
# RUN
|
||||
# -----------------------------
|
||||
if (-not (Test-Path ".\server")) {
|
||||
New-Item -ItemType Directory -Path ".\server" | Out-Null
|
||||
}
|
||||
|
||||
Set-Location ".\server"
|
||||
|
||||
# Prüfe ob package.json existiert
|
||||
if (-not (Test-Path "package.json")) {
|
||||
Write-Host "❌ server/package.json nicht gefunden!" -ForegroundColor Red
|
||||
Write-Host "Bitte führe zuerst 'npm install' im server Ordner aus." -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "`n=== EmailSorter Bootstrap ===" -ForegroundColor Cyan
|
||||
Write-Host "Verwende bootstrap-v2.mjs (aktuelle Version)" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Verwende bootstrap-v2.mjs (aktuelle Version)
|
||||
node bootstrap-v2.mjs
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host "`n✅ Bootstrap erfolgreich abgeschlossen!" -ForegroundColor Green
|
||||
Write-Host "`nDie Datenbank und alle Collections wurden erstellt." -ForegroundColor White
|
||||
} else {
|
||||
Write-Host "`n❌ Fehler beim Bootstrap." -ForegroundColor Red
|
||||
Write-Host "Prüfe die Fehlermeldungen oben." -ForegroundColor Yellow
|
||||
}
|
||||
142
scripts/setup-production.ps1
Normal file
142
scripts/setup-production.ps1
Normal file
@@ -0,0 +1,142 @@
|
||||
# EmailSorter Production Setup Script
|
||||
# Dieses Script hilft beim Setup für Production
|
||||
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "EmailSorter Production Setup" -ForegroundColor Cyan
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Prüfe ob Node.js installiert ist
|
||||
Write-Host "[1/5] Prüfe Node.js Installation..." -ForegroundColor Yellow
|
||||
try {
|
||||
$nodeVersion = node --version
|
||||
Write-Host "✓ Node.js gefunden: $nodeVersion" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "✗ Node.js ist nicht installiert!" -ForegroundColor Red
|
||||
Write-Host " Bitte installiere Node.js von https://nodejs.org/" -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Prüfe ob PM2 installiert ist
|
||||
Write-Host ""
|
||||
Write-Host "[2/5] Prüfe PM2 Installation..." -ForegroundColor Yellow
|
||||
try {
|
||||
$pm2Version = pm2 --version
|
||||
Write-Host "✓ PM2 gefunden: $pm2Version" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "✗ PM2 ist nicht installiert" -ForegroundColor Yellow
|
||||
Write-Host " Installiere PM2..." -ForegroundColor Yellow
|
||||
npm install -g pm2
|
||||
Write-Host "✓ PM2 installiert" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# Backend Setup
|
||||
Write-Host ""
|
||||
Write-Host "[3/5] Backend Setup..." -ForegroundColor Yellow
|
||||
$serverPath = Join-Path $PSScriptRoot "server"
|
||||
if (Test-Path $serverPath) {
|
||||
Set-Location $serverPath
|
||||
|
||||
# Prüfe .env Datei
|
||||
if (-not (Test-Path ".env")) {
|
||||
Write-Host "⚠ .env Datei nicht gefunden!" -ForegroundColor Yellow
|
||||
Write-Host " Erstelle .env aus env.example..." -ForegroundColor Yellow
|
||||
Copy-Item "env.example" ".env"
|
||||
Write-Host " ⚠ WICHTIG: Bearbeite server/.env und setze die Production-Werte:" -ForegroundColor Red
|
||||
Write-Host " - NODE_ENV=production" -ForegroundColor Yellow
|
||||
Write-Host " - FRONTEND_URL=https://emailsorter.webklar.com" -ForegroundColor Yellow
|
||||
Write-Host " - CORS_ORIGIN=https://emailsorter.webklar.com" -ForegroundColor Yellow
|
||||
Write-Host " - BASE_URL=https://api.emailsorter.webklar.com (oder deine API URL)" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host " Drücke Enter, wenn du die .env Datei bearbeitet hast..." -ForegroundColor Cyan
|
||||
Read-Host
|
||||
}
|
||||
|
||||
# Installiere Dependencies
|
||||
Write-Host " Installiere Backend Dependencies..." -ForegroundColor Yellow
|
||||
npm install
|
||||
Write-Host "✓ Backend Dependencies installiert" -ForegroundColor Green
|
||||
|
||||
# Prüfe ob Server bereits läuft
|
||||
$pm2List = pm2 list 2>&1
|
||||
if ($pm2List -match "emailsorter-api") {
|
||||
Write-Host " Server läuft bereits. Neustart..." -ForegroundColor Yellow
|
||||
pm2 restart emailsorter-api
|
||||
} else {
|
||||
Write-Host " Starte Backend Server mit PM2..." -ForegroundColor Yellow
|
||||
pm2 start index.mjs --name emailsorter-api
|
||||
pm2 save
|
||||
}
|
||||
|
||||
Write-Host "✓ Backend Server gestartet" -ForegroundColor Green
|
||||
Write-Host " Status: pm2 status" -ForegroundColor Cyan
|
||||
Write-Host " Logs: pm2 logs emailsorter-api" -ForegroundColor Cyan
|
||||
} else {
|
||||
Write-Host "✗ Server Verzeichnis nicht gefunden!" -ForegroundColor Red
|
||||
}
|
||||
|
||||
# Frontend Build
|
||||
Write-Host ""
|
||||
Write-Host "[4/5] Frontend Build..." -ForegroundColor Yellow
|
||||
$clientPath = Join-Path $PSScriptRoot "client"
|
||||
if (Test-Path $clientPath) {
|
||||
Set-Location $clientPath
|
||||
|
||||
# Prüfe .env.production
|
||||
if (-not (Test-Path ".env.production")) {
|
||||
Write-Host " Erstelle .env.production..." -ForegroundColor Yellow
|
||||
$envContent = @"
|
||||
VITE_APPWRITE_ENDPOINT=https://appwrite.webklar.com/v1
|
||||
VITE_APPWRITE_PROJECT_ID=DEINE_PROJEKT_ID
|
||||
VITE_API_URL=https://api.emailsorter.webklar.com
|
||||
"@
|
||||
Set-Content -Path ".env.production" -Value $envContent
|
||||
Write-Host " ⚠ WICHTIG: Bearbeite client/.env.production und setze die richtigen Werte!" -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host " Drücke Enter, wenn du die .env.production Datei bearbeitet hast..." -ForegroundColor Cyan
|
||||
Read-Host
|
||||
}
|
||||
|
||||
# Installiere Dependencies
|
||||
Write-Host " Installiere Frontend Dependencies..." -ForegroundColor Yellow
|
||||
npm install
|
||||
Write-Host "✓ Frontend Dependencies installiert" -ForegroundColor Green
|
||||
|
||||
# Build
|
||||
Write-Host " Baue Frontend für Production..." -ForegroundColor Yellow
|
||||
npm run build
|
||||
Write-Host "✓ Frontend Build abgeschlossen" -ForegroundColor Green
|
||||
Write-Host " Build-Ordner: client/dist" -ForegroundColor Cyan
|
||||
Write-Host " ⚠ WICHTIG: Deploye den client/dist Ordner zu deinem Web-Server!" -ForegroundColor Yellow
|
||||
} else {
|
||||
Write-Host "✗ Client Verzeichnis nicht gefunden!" -ForegroundColor Red
|
||||
}
|
||||
|
||||
# Zusammenfassung
|
||||
Write-Host ""
|
||||
Write-Host "[5/5] Zusammenfassung" -ForegroundColor Yellow
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "✓ Backend Setup abgeschlossen" -ForegroundColor Green
|
||||
Write-Host "✓ Frontend Build abgeschlossen" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "⚠ NOCH ZU TUN:" -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host "1. APPWRITE CORS KONFIGURIEREN:" -ForegroundColor Yellow
|
||||
Write-Host " - Gehe zu https://appwrite.webklar.com" -ForegroundColor White
|
||||
Write-Host " - Öffne dein Projekt" -ForegroundColor White
|
||||
Write-Host " - Settings → Platforms → Add Platform" -ForegroundColor White
|
||||
Write-Host " - Hostname: emailsorter.webklar.com" -ForegroundColor White
|
||||
Write-Host " - Origin: https://emailsorter.webklar.com" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "2. FRONTEND DEPLOYEN:" -ForegroundColor Yellow
|
||||
Write-Host " - Kopiere client/dist zu deinem Web-Server" -ForegroundColor White
|
||||
Write-Host " - Stelle sicher, dass die Domain richtig konfiguriert ist" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "3. BACKEND ÜBERWACHEN:" -ForegroundColor Yellow
|
||||
Write-Host " - pm2 status (Server Status prüfen)" -ForegroundColor White
|
||||
Write-Host " - pm2 logs emailsorter-api (Logs ansehen)" -ForegroundColor White
|
||||
Write-Host " - pm2 monit (Live Monitoring)" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
|
||||
Set-Location $PSScriptRoot
|
||||
Reference in New Issue
Block a user