V tomto průvodci prozkoumáte detaily struktury projektového adresáře a jak přispívá k organizaci a udržovatelnosti Twenty. Následováním této konvence architektury složek je snazší najít soubory související s konkrétními funkcemi a zajistit rozšiřitelnost a udržovatelnost aplikace.Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Stránky
Zahrnuje komponenty nejvyšší úrovně definované aplikačními trasami. Importují více nízkoúrovňových komponent ze složky modulů (více podrobností níže).Moduly
Každý modul představuje funkci nebo skupinu funkcí s jejich specifickými komponenty, stavy a provozní logikou. Všechny by měly dodržovat strukturu níže. Moduly můžete vnořovat do sebe (tzv. podmoduly) a platí pro ně stejná pravidla.Kontexty
Kontext je způsob, jak předávat data skrz strom komponent, aniž by se musely na každé úrovni ručně předávat props. Více podrobností naleznete v React Context.GraphQL
Zahrnuje fragmenty, dotazy a mutace. Více podrobností naleznete v GraphQL.- Fragmenty
- Dotazy
- Mutace
Hooky
Více podrobností naleznete v Hooks.Stavy
Obsahuje logiku správy stavů. To řeší Jotai.- Selektory: Odvozené atomy (pomocí
createAtomSelector) odvozují hodnoty z jiných atomů a jsou automaticky memoizovány.
Pomocné funkce
Měly by obsahovat pouze znovupoužitelné čisté funkce. V opačném případě vytvořte vlastní hooky ve složcehooks.
UI
Obsahuje všechny znovupoužitelné komponenty UI použité v aplikaci. Tato složka může obsahovat podsložky, jako jsoudata, display, feedback a input pro specifické typy komponent. Každá komponenta by měla být samostatná a znovupoužitelná, takže ji můžete použít v různých částech aplikace.
Oddělením komponent UI od ostatních komponent ve složce modules je snazší udržovat konzistentní design a provádět změny v rozhraní, aniž by to ovlivnilo jiné části (obchodní logiku) kódové základny.
Rozhraní a závislosti
Můžete importovat kód jiných modulů z jakéhokoliv modulu kromě složkyui. Díky tomu zůstane jeho kód snadno testovatelný.
Interní
Každá část (hooky, stavy, …) modulu může mít složkuinternal, která obsahuje části používané pouze v rámci modulu.