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
This commit is contained in:
149
documentation/AREA_STRUCTURE.md
Normal file
149
documentation/AREA_STRUCTURE.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user