WP Manifestindependent plugin directory
manifest / users / ha-achievement-api

HA Achievement API self-updates

WordPress Plugin: ha-achievement-api

by Alexander · github.com/mystryx1337/ha-achievement-api · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/mystryx1337/ha-achievement-api/archive/refs/heads/main.zip

Ships its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.

Zentrales, modulares Gamification- und Leistungsnachweis-System für WordPress. Entwickelt für ha-bpmn-manager und alle künftigen Prozess-, Quiz- und Workflow-Erweiterungen.

📖 Ausführlicher Entwickler- & Integrations-Leitfaden: Siehe DEVELOPER_GUIDE.md sowie die Muster-Vorlage examples/class-sample-achievement-integration.php für die Anbindung neuer Plugins.


🌟 Highlights & Architektur

  • 100 % Native WordPress-Architektur: Keine fehleranfälligen Custom MySQL-Tabellen!
    • CPT ha_achievement: Verwaltet Badges, Trophäen, XP-Belohnungen und Kriterien.
    • CPT ha_credential: Verwaltet offizielle, kryptografisch verifizierbare Diplome & Urkunden mit eigener öffentlicher URL (z. B. /zertifikat/HA-BPMN-8X9K2M).
    • wp_usermeta: Speichert XP (ha_total_xp), Stufen (ha_level), Ränge, tägliche Streaks und die 27 gelösten Aufgaben in einem einzigen kompakten JSON-Blob.
    • Transients-Caching: Leaderboards und Bestenlisten belasten den Server bei Abruf mit 0 ms Datenbankzeit.
  • Offenes Source-Ökosystem: Jedes Plugin registriert sich als eigenständige Source und steuert eigene Aufgaben und Badges bei.
  • Volle Backup- & DSGVO-Kompatibilität: Funktioniert standardmäßig mit UpdraftPlus, WP-CLI, Duplicator und den WordPress-Datenschutz-Export-/Löschwerkzeugen.
  • Echtzeit-Feedback: Integrierte Konfetti- und Toast-Engine ohne externe JavaScript-Bibliotheken.

🧩 Verfügbare Frontend-Shortcodes

Shortcode Beschreibung
[ha_achievement_learning_dashboard] Das zentrale Missions-Widget: Zeigt dem Nutzer seine erledigten und noch offenen Aufgaben gruppiert nach Kapiteln mit Fortschrittsbalken, Praxistipps und direkten „Jetzt lösen 🚀“-Aktions-Buttons.
[ha_achievement_profile_card] Zeigt das Benutzer-Avatar, den aktuellen Rangtitel (z. B. 👑 Großmeister-Titan), das Level und den animierten XP-Fortschrittsbalken zur nächsten Stufe.
[ha_achievement_badges] Medaillen-Vitrine: Freigeschaltete Badges glänzend hervorgehoben, gesperrte transparent mit Schlosssymbol.
[ha_achievement_leaderboard] Bestenliste mit interaktivem Top-3-Podest (Gold, Silber, Bronze) und tabellarischer Platzierung.
[ha_achievement_certificate_verify] Öffentliche Suchmaske zur Prüfung von Prüfcodes und SHA-256 Hashes durch Kunden, HR oder Auditoren.

💻 PHP API Entwickler-Dokumentation (\HA_Achievement\API)

Jedes Plugin kann ohne Netzwerklatenz direkt mit dem Backend interagieren:

// 1. XP gutschreiben
\HA_Achievement\API::award_xp( $user_id, 50, 'ha-bpmn-manager', 'Kapitel 1 gelöst' );

// 2. Teilaufgabe als abgeschlossen markieren
\HA_Achievement\API::complete_task( $user_id, 'c1_toggle_sim', 'ha-bpmn-manager' );

// 3. Eigene Lernaufgaben im Katalog registrieren
\HA_Achievement\API::register_tasks( 'mein_plugin', [
    [
        'id'            => 'step_1',
        'chapter_key'   => 'basics',
        'chapter_title' => 'Grundlagen-Modul',
        'chapter_icon'  => '🚀',
        'title'         => 'Erstes Formular absenden',
        'hint'          => 'Fülle alle Pflichtfelder aus und klicke auf Senden.',
        'action_url'    => home_url( '/formular/' ),
        'order_num'     => 1,
        'xp_value'      => 15,
    ]
] );

// 4. Diplom ausstellen
$code = \HA_Achievement\API::issue_credential( $user_id, 'ha-bpmn-manager', 'bpmn_grandmaster', [
    'title'       => 'BPMN 2.0 Process Practitioner',
    'honor_grade' => 'EGREGIA CUM LAUDE',
    'total_xp'    => 2450,
    'svg'         => $diploma_svg_string,
] );

// 5. Diplom verifizieren
$result = \HA_Achievement\API::verify_credential( 'HA-BPMN-8X9K2M' );
if ( $result['valid'] ) {
    echo "Echtes Diplom von: " . esc_html( $result['recipient'] );
}

Lose Kopplung via WordPress Action Hooks:

// Funktioniert auch, wenn ha-achievement-api optional ist:
do_action( 'ha_achievement_award_xp', $user_id, 100, 'mein_plugin', 'Quiz bestanden' );
do_action( 'ha_achievement_complete_task', $user_id, 'quiz_aufgabe_1', 'mein_plugin' );

🌐 REST API Endpunkte

Basis-URL: /wp-json/ha-achievement/v1/

  • GET /user/progress: Liefert XP, Level, Aufgaben- und Badge-Status des eingeloggten Benutzers.
  • POST /tasks/complete: Meldet eine gelöste Teilaufgabe (task_key, source).
  • POST /xp/award: Schreibt Punkte gut (xp, source, reason).
  • POST /credentials/issue: Speichert ein errungenes Diplom serverweit ab.
  • GET /credentials/verify/{code}: Öffentliche Verifikation eines Prüfcodes.
  • GET /leaderboard: Liefert die aktuelle Bestenliste aus dem Cache.
  • GET /tasks/catalog: Liefert alle registrierten Aufgaben.

📄 Lizenz & Konformität

  • GPL-2.0+
  • ISO 19510: Standardkonforme Begriffsdefinitionen und Audit-Trail-Archivierung.
  • DSGVO: Unterstützt die WordPress Core Privacy Tools (Daten-Export und Lösch-Anfragen).