Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Produktverwaltung ​

Produkte sind die übergeordnete Organisationseinheit in Fenfa. Jedes Produkt repräsentiert eine einzelne Anwendung und kann mehrere Plattform-Varianten enthalten (iOS, Android, macOS, Windows, Linux). Ein Produkt hat eine eigene öffentliche Download-Seite, Icon und Slug-URL.

Konzepte ​

mermaid
graph TD
    PRODUCT["Produkt<br/>Name · Slug · Icon · Beschreibung"]
    VAR1["Variante: iOS<br/>com.example.app · ipa · arm64"]
    VAR2["Variante: Android<br/>com.example.app · apk"]
    VAR3["Variante: macOS<br/>dmg · arm64"]
    REL1["Release v1.0.0"]
    REL2["Release v1.1.0"]
    REL3["Release v1.0.0"]

    PRODUCT --> VAR1
    PRODUCT --> VAR2
    PRODUCT --> VAR3
    VAR1 --> REL1
    VAR1 --> REL2
    VAR2 --> REL3
  • Produkt: Die logische Anwendung. Hat einen eindeutigen Slug, der zur Download-Seiten-URL wird (/products/:slug).
  • Variante: Ein plattformspezifisches Build-Target unter einem Produkt. Siehe Plattform-Varianten.
  • Release: Ein bestimmter hochgeladener Build unter einer Variante. Siehe Release-Verwaltung.

Produkt erstellen ​

Über das Admin-Panel ​

  1. Im Admin-Panel zu Produkte navigieren.
  2. Auf Produkt erstellen klicken.
  3. Felder ausfüllen:
FeldErforderlichBeschreibung
NameJaAnzeigename (z.B. "MeineApp")
SlugJaURL-Bezeichner (z.B. "meineapp"). Muss eindeutig sein.
BeschreibungNeinKurze App-Beschreibung auf der Download-Seite
IconNeinApp-Icon (als Bilddatei hochgeladen)
  1. Auf Speichern klicken.

Über API ​

bash
curl -X POST http://localhost:8000/admin/api/products \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MyApp",
    "slug": "myapp",
    "description": "A cross-platform mobile app"
  }'

Produkte auflisten ​

Über das Admin-Panel ​

Die Produkte-Seite im Admin-Panel zeigt alle Produkte mit Variantenanzahl und Gesamt-Downloads.

Über API ​

bash
curl http://localhost:8000/admin/api/products \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

Antwort:

json
{
  "ok": true,
  "data": [
    {
      "id": "prd_abc123",
      "name": "MyApp",
      "slug": "myapp",
      "description": "A cross-platform mobile app",
      "published": true,
      "created_at": "2025-01-15T10:30:00Z"
    }
  ]
}

Produkt aktualisieren ​

bash
curl -X PUT http://localhost:8000/admin/api/products/prd_abc123 \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MyApp Pro",
    "description": "Updated description"
  }'

Produkt löschen ​

Kaskadierendes Löschen

Das Löschen eines Produkts entfernt dauerhaft alle Varianten, Releases und hochgeladenen Dateien.

bash
curl -X DELETE http://localhost:8000/admin/api/products/prd_abc123 \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

Veröffentlichen und Unveröffentlichen ​

Produkte können veröffentlicht oder unveröffentlicht werden. Unveröffentlichte Produkte geben auf ihrer öffentlichen Download-Seite einen 404-Fehler zurück.

bash
# Unveröffentlichen
curl -X PUT http://localhost:8000/admin/api/apps/prd_abc123/unpublish \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

# Veröffentlichen
curl -X PUT http://localhost:8000/admin/api/apps/prd_abc123/publish \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

Öffentliche Download-Seite ​

Jedes veröffentlichte Produkt hat eine öffentliche Download-Seite unter:

https://ihre-domain.com/products/:slug

Die Seite bietet:

  • App-Icon, Name und Beschreibung
  • Plattformspezifische Download-Buttons (automatisch basierend auf dem Gerät des Besuchers erkannt)
  • QR-Code für mobiles Scannen
  • Release-Verlauf mit Versionsnummern und Changelogs
  • iOS itms-services://-Links für OTA-Installation

ID-Format ​

Produkt-IDs verwenden das Präfix prd_ gefolgt von einem zufälligen String (z.B. prd_abc123). IDs werden automatisch generiert und können nicht geändert werden.

Nächste Schritte ​

Released under the Apache-2.0 License.