Tibi Architecture
Tibi is a WordPress site backed by shared monorepo packages, custom plugins, a custom theme, React form flows, and external search/API services.
Main Parts
sites/tibi/
packages/wordpress/plugins/tibi-core/
packages/wordpress/plugins/tibi-block-library/
packages/wordpress/themes/tibi/
packages/wordpress/external-plugins/
packages/wordpress/mu-plugins/
Site Package
sites/tibi contains the site-specific WordPress installation and Composer configuration. It consumes local packages from packages/wordpress through Composer symlinks.
Core Plugin
tibi-core owns core site behavior, including:
- Custom post types and taxonomies.
- ACF and options integration.
- Gravity Forms customizations.
- Cookiebot integration.
- REST/API-related functionality.
- Swagger/API documentation support.
Block Library
tibi-block-library contains Tibi-specific Gutenberg blocks. These blocks provide editor-facing configuration for frontend experiences such as signup, loan-right confirmation, brochures, and search/help features.
Theme
packages/wordpress/themes/tibi owns presentation, templates, assets, and frontend React entrypoints. The theme loads form/search scripts conditionally based on the blocks present on the current page.
External Services
Tibi integrates with:
- NLB API for book metadata and enrollment-related form submissions.
- Algolia for search experiences.
- Gravity Forms for general editor-managed forms.
- Cookiebot for consent management.
- GTM through the shared Dekode GTM plugin.
Data Flow
Common flows:
WordPress editor block settings
-> rendered page markup
-> conditional theme script loading
-> React frontend app
-> Tibi/NLB API or WordPress REST endpoint
For book metadata:
Tibi page/request
-> Tibi REST/controller logic
-> NLB API
-> cached WordPress transient
-> rendered response