# Voraussetzungen um das React Projekt zu bauen
- Node 18
- PNPM

# Veränderungen Datenbank

## Tabelle `egb_benutzer`
- Neue Spalten `token` (Auth token): VarChar(36), Nullable, UNIQUE Constraint
- Neue Spalten `tokenExpiry` (Auth token verfall): DateTime, Nullable
- Neue Spalten `refreshToken` (Auth refresh token): VarChar(36), Nullable, UNIQUE Constraint
- Neue Spalten `refreshExpiry` (Auth refresh token verfall): VarChar(36), DateTime
- Abänderung der Spalte `zeitstempel`: Entfernen des `ON UPDATE` (da sonst die Mitgliedszeit beim Ändern der Daten sich ändert)
- Abänderung der Spalte `benutzername`: Non-Nullable gemacht, UNIQUE Constraint
- Abänderung der Spalte `email`: Non-Nullable gemacht, UNIQUE Constraint
- Abänderung der Spalte `passwort`: Non-Nullable gemacht
- Abänderung der Spalte `confirmationcode`: Default auf `NULL` gesetzt

## Tabelle `egb_gaestebuch`
- Abänderung der Spalte `benutzer_id`: Non-Nullable gemacht
- Abänderung der Spalte `beitrag`: Non-Nullable gemacht
- Hinzufüge eines Foreign Key Constraints auf `benutzer_id`

# Notwendige Anpassung für die Verzeichnisstruktur eines anderen Hosters

## HTACCESS

### `.htaccess`
- RewriteBase anpassen

### `react/public/.htaccess`
- RewriteBase anpassen
- **WICHTIG:** React Projekt neu bauen damit die Datei an den korrekten Platz kopiert wird

## PHP

### `classes/Models/User.php`
- Link in der Confirmation E-Mail
  
### `config/app.php`
- Alle Pfade

## JS
**WICHTIG:** Nach allen Änderungen muss das React Projekt neu gebaut werden

### `react/vite.config.ts`
- `base` Pfad
  
### `react/src/i18n.ts`
- `loadPath` Pfad

### `react/src/main.tsx`
- `createRouter.basepath` Pfad

### `react/src/api/Api.ts`
- `BASE` API Url

### Projekt bauen
```
cd react
pnpm install
pnpm build
```