Files
AdsPreview/documentation/AREA_STRUCTURE.md
Johannes 713a1156c4 refactor: Rename project order file and clean up file structure
- Rename project_order.json to order_project.json for consistency with order_ads.json naming convention
- Update all references in ProjectService and ProjectsController
2025-09-14 11:26:09 +02:00

150 lines
5.4 KiB
Markdown

# Area Directory Structure
Der `area/` Ordner enthält alle Projektdaten und Media-Dateien für die AdsPreview-Anwendung. Dieser Ordner ist aus Sicherheitsgründen und zur Größenreduzierung nicht im Git-Repository enthalten.
## 📁 Verzeichnisstruktur
```
area/
├── logins.json # Login-Konfiguration für Clients
├── [Client-Name]/ # Pro Client ein Ordner
│ ├── order_project.json # Reihenfolge der Projekte für den Client
│ └── [Projekt-Name]/ # Pro Projekt ein Ordner
│ ├── index.php # Optional: Custom PHP für das Projekt
│ ├── ads/ # Werbemittel-Ordner
│ │ ├── [Kampagne]/ # Kampagnen-Ordner
│ │ │ ├── [Format]/ # Format-spezifische Dateien
│ │ │ │ ├── [Größe]/ # Größen-spezifische Dateien
│ │ │ │ │ ├── *.jpg # Bilder
│ │ │ │ │ ├── *.png # Bilder
│ │ │ │ │ ├── *.mp4 # Videos
│ │ │ │ │ └── *.gif # Animierte Bilder
│ │ │ │ └── config.yaml # Optional: HTML5-Konfiguration
│ │ │ └── html/ # Optional: HTML5-Werbemittel
│ │ │ ├── index.html # HTML5-Anzeige
│ │ │ └── assets/ # Zusätzliche Assets
│ │ └── core/ # Optional: Legacy PHP Core-Dateien
│ └── setup/ # Projekt-Konfiguration
│ ├── setup.yaml # Projekt-Setup-Konfiguration
│ ├── logo.png # Client-Logo
│ ├── poster.jpg # Projekt-Poster
│ ├── showreel_close.svg # Showreel-Icons
│ └── showreel_dkt.png # Showreel-Assets
└── AllScreens/ # Spezielle AllScreens-Projekte
└── [Projekt-Name]/ # Struktur wie bei Client-Projekten
```
## 🔧 Konfigurationsdateien
### `area/logins.json`
Definiert die verfügbaren Clients und deren Zugriffsdaten:
```json
{
"clients": [
{
"name": "ClientName",
"folder": "ClientFolder",
"password": "client_password"
}
]
}
```
### `area/[Client]/order_project.json`
Definiert die Reihenfolge der Projekte für einen Client:
```json
{
"order_project": [
"Projekt1",
"Projekt2",
"Projekt3"
]
}
```
### `area/[Client]/[Projekt]/setup/setup.yaml`
Projekt-spezifische Konfiguration:
```yaml
project_name: "Projektname"
client: "Client Name"
description: "Projektbeschreibung"
showreel_enabled: true
poster_image: "poster.jpg"
logo_image: "logo.png"
```
## 📂 Beispiel-Struktur
```
area/
├── logins.json
├── Paramount/
│ ├── order_project.json
│ ├── Mission_Impossible_7/
│ │ ├── ads/
│ │ │ ├── Kinobanner/
│ │ │ │ ├── Cineplex/
│ │ │ │ │ └── Powerbanner_1420x420/
│ │ │ │ │ ├── PARA_MI7_Cineplex_PB_1420x420_Datum.jpg
│ │ │ │ │ └── PARA_MI7_Cineplex_PB_1420x420_Jetzt.jpg
│ │ │ │ └── Cinestar/
│ │ │ └── Programmatic/
│ │ │ ├── Billboard/
│ │ │ │ └── 800x250/
│ │ │ │ ├── config.yaml
│ │ │ │ └── html/
│ │ │ │ ├── index.html
│ │ │ │ ├── bg.jpg
│ │ │ │ └── assets/
│ │ │ └── HPA/
│ │ └── setup/
│ │ ├── setup.yaml
│ │ ├── logo.png
│ │ └── poster.jpg
│ └── HE_Lioness_S2/
└── Studiocanal/
└── HE_We_Live_in_Time/
```
## 🎯 Wichtige Hinweise
### Datei-Namenskonventionen:
- **Ordnernamen**: Keine Leerzeichen, verwende `_` oder `-`
- **Dateinamen**: Beschreibende Namen mit Client-Präfix
- **Bildformate**: JPG, PNG, GIF unterstützt
- **Videoformate**: MP4 empfohlen
### Dateigröße-Optimierung:
- **Bilder**: Komprimierte Versionen mit `_sz.jpg` Suffix für kleinere Dateien
- **Videos**: Web-optimierte MP4-Dateien
- **Thumbnails**: Kleine Preview-Versionen für Listen-Ansichten
### HTML5-Werbemittel:
- **config.yaml**: Definiert Einstellungen für interaktive Anzeigen
- **index.html**: Haupt-HTML-Datei
- **Assets**: Alle zusätzlichen Dateien (CSS, JS, Bilder)
## 🔒 Sicherheit
- Der `area/` Ordner ist in `.gitignore` ausgeschlossen
- Keine sensiblen Daten in Dateinamen verwenden
- Regelmäßige Backups des `area/` Ordners erstellen
- Zugriffskontrolle über `logins.json` verwalten
## 📋 Setup-Checkliste
1.`area/` Ordner im Projekt-Root erstellen
2.`logins.json` mit Client-Daten anlegen
3. ✅ Client-Ordner erstellen
4.`order_project.json` für jeden Client
5. ✅ Projekt-Ordner mit `setup/` Verzeichnis
6.`ads/` Struktur nach Kampagnen organisieren
7. ✅ Media-Dateien hochladen und testen
---
💡 **Tipp**: Verwende die Admin-Oberfläche der AdsPreview-Anwendung zur einfachen Verwaltung von Clients und Projekten.