Zpět na blog
Z praxe6 praktických kapitol

Payload CMS 3.0 a TypeScript: headless CMS pro moderní obsahové projekty

Praktický průvodce Payload CMS 3.0 postaveným na TypeScriptu. Ukážeme collections, hooks, access control i GraphQL API pro škálovatelný headless CMS bez zbytečného balastu.

3D ilustrace modulárního headless CMS v TypeScriptu
01

Proč Payload CMS 3.0?

Centrální Payload CMS napojený na více kanálů
Jeden obsahový model může zásobovat web, aplikaci i další výstupy.

Payload CMS 3.0 je headless CMS nové generace postavený od základu na TypeScript a moderních web technologiích. Na rozdíl od tradičních CMS jako WordPress nebo Drupal, Payload je code-first - vše konfigurujete programově v TypeScriptu. To znamená plnou type safety, lepší developer experience a snadnou integraci s moderními frameworky jako Next.js nebo Remix. Payload 3.0 přináší native podporu pro MongoDB i PostgreSQL, optimalizované uploads s S3 kompatibilitou a built-in lokalizaci.

Dvojka v praxi

Payload dává největší smysl, když má obsah vlastní logiku, vztahy a schvalování, ne jen několik statických stránek.

02

Collections a Field Types

Stavebnice kolekcí a typovaných polí
Kolekce převádějí obsahové potřeby do čitelného datového modelu.

V Payload CMS jsou Collections základními building blocky. Každá collection definuje datový model s typovanými fields - text, richText (Lexical editor), relationship, upload, array, blocks a mnoho dalších. TypeScript types jsou automaticky generovány z collections, což zajišťuje type safety napříč celou aplikací. Rich Text fields využívají Lexical editor s customizovat elnými features - headings, lists, links, inline kód. Relationship fields umožňují vytvářet relace mezi collections s lazy loading a depth control.

Dvojka v praxi

Modelujte obsah podle práce editorů a budoucího použití dat. Příliš obecné rich-text pole rychle vytvoří chaos.

03

Hooks a Custom Logic

Automatizovaný tok dat přes Payload hooks
Hooky hlídají transformace, návazné akce a obnovu cache.

Payload hooks poskytují lifecycle metody pro manipulaci s daty - beforeChange, afterChange, beforeRead, afterRead. Hooks můžete využít pro data validation, transformace, automatické generování slugs, webhooks pro external services nebo revalidaci Next.js cache. Všechny hooks jsou plně typované, takže máte IntelliSense a compile-time error checking. beforeOperation hook umožňuje měnit query před executionem, což je ideální pro filtering nebo access control logic.

Dvojka v praxi

Do hooků dávejte krátkou a testovatelnou logiku. Dlouhé externí operace oddělte do fronty nebo samostatné služby.

04

Access Control a Authentication

Vrstvy oprávnění chránící obsah CMS
Přístup lze řídit pro kolekci, dokument i jednotlivá pole.

Payload CMS 3.0 nabízí granulární access control na úrovni collections, fields i jednotlivých dokumentů. Access control functions jsou plně typované a mají přístup k user objektu, což umožňuje implementovat komplexní permission systémy. Builtin authentication podporuje JWT tokens, refresh tokens a configurable session durations. Pro enterprise použití můžete integrovat OAuth, SAML nebo custom authentication strategii. Collection-level access control umožňuje definovat kdo může create, read, update a delete dokumenty.

Dvojka v praxi

Access control testujte i bez přihlášení a s nejnižší rolí. Admin rozhraní samo o sobě není bezpečnostní hranice.

05

GraphQL & REST API

REST a GraphQL rozhraní nad jedním datovým modelem
Stejný obsah lze číst různými API bez duplikace schématu.

Payload automaticky generuje jak REST tak GraphQL API z vašich collections. GraphQL schema je fully typed a podporuje queries s depth control, filtering, pagination a sorting. REST API poskytuje standardní CRUD operace s support pro locale, depth a populate parametersy. API je optimalizované s automatickým query optimizationem a database poolingem. Pro custom endpoints můžete využít Payload hooks nebo vytvořit vlastní Express middleware.

Dvojka v praxi

Nastavte rozumnou hloubku relací a vybírejte jen potřebná pole. Neomezené vnořování je častý zdroj pomalých odpovědí.

06

Integration s Next.js a Deployment

Nasazení Payload CMS společně s Next.js
Obsah, frontend, databáze a soubory potřebují jasně oddělenou provozní strategii.

Payload CMS 3.0 se perfektně integruje s Next.js App Router. Můžete použít Payload jako API server nebo ho embedovat přímo do Next.js aplikace. Server Components můžou fetchovat data přímo z Payload Local API bez HTTP overhead. Pro deployment podporuje Payload Vercel, Docker containers, AWS, GCP a samostatné VPS. MongoDB Atlas nebo PostgreSQL na Railway poskytují managed database solutions. S incremental static regeneration (ISR) v Next.js můžete cachovat content a revalidovat pouze při změnách.

Dvojka v praxi

Před nasazením vyřešte zálohy databáze, trvalé úložiště médií a způsob revalidace. Teprve potom laděte infrastrukturu.

Řeším přesně tohle. Poradíte?Napište pár vět o projektu. Ozveme se do 24 hodin.

Řešíte podobný projekt? Pojďme ho probrat.

Nezávazná poptávka

Popište nám, co řešíte vy.

Radek Bělohlav
Radek BělohlavJednatel Dvojka v IT

Poptávku si přečtu osobně a ozvu se vám obvykle do 24 hodin. Rovnou přidám návrh prvního kroku, ne automatickou odpověď.

Údaje použijeme pouze k vyřízení poptávky a navazující komunikaci. Podrobnosti najdete v zásadách ochrany osobních údajů.

Rychlé spojení

E-mailinfo@dvojkavit.czTelefon722 444 667
AdresaPříčná 1892/4
Praha 1, Nové Město
Firmadvojkavit, s.r.o.
IČO 22171746

Na poptávky odpovídáme do 24 hodin. Úvodní konzultace je zdarma a nezávazná. Odnesete si z ní minimálně jasnější zadání.