Skip to content

Integrace

Projekt má integrační vrstvu v app/Integrations/. Jde o tenké klienty nebo helpery, které zapouzdřují externí služby.

Přehled

Integrace Umístění Použití
Auth app/Integrations/Auth admin passkey auth autorita
DeepL app/Integrations/DeepL překlady textů
Ecomail app/Integrations/Ecomail newsletter a subscribers
Google app/Integrations/Google překlady a mapy
OpenAI app/Integrations/OpenAI SEO a překladové workflow

Auth

Soubor:

  • app/Integrations/Auth/AuthClient.php

Použití:

  • admin passkey login callback
  • lokální ověření JWT
  • refresh tokenu
  • posílání invite přes /api/invite

Napojené moduly:

  • App\Modules\Admin\Auth\AuthController
  • App\Modules\Admin\User\UserController

DeepL a Google Translate

Soubory:

  • app/Integrations/DeepL/DeepLTranslator.php
  • app/Integrations/Google/GoogleTranslator.php

Použití:

  • App\Modules\I18n\I18nService
  • App\Modules\Translation\FormFields\FormFieldsController

Role:

  • strojové překlady pro admin i website texty
  • doplňování překladů formulářových polí

Ecomail

Soubory:

  • app/Integrations/Ecomail/EcomailMessage.php
  • app/Integrations/Ecomail/EcomailSubscribers.php

Použití:

  • website newsletter signup
  • případně napojení formulářů

Místa použití:

  • app/website/tags/newsletter/add-email/*
  • volitelně website contact form

Google Map

Soubor:

  • app/Integrations/Google/GoogleMap.php

Tahle integrace není v dokumentaci rozpracovaná detailně, ale patří do samostatné integrační vrstvy a odděluje práci s Google mapovými daty od zbytku aplikace.

OpenAI

Soubor:

  • app/Integrations/OpenAI/OpenAIClient.php

Použití:

  • App\Modules\Seo\SeoController
  • App\Modules\Translation\Translator

Role:

  • generování SEO obsahu
  • asistované překladové workflow

Praktická pravidla

  • integrační třídy mají zůstat tenké
  • business rozhodování má zůstávat v modulech a službách
  • pokud externí služba mění API, změna má ideálně zůstat uzavřená v app/Integrations/*

Co tu zatím není

Tato stránka je přehledová. Detailní konfigurace jednotlivých integrací zatím není rozepsaná samostatně po službách.