Examples
This section provides complete working examples for different UI Protocol application types.
Each example demonstrates the recommended project structure and patterns using TanStack Router with file-based routing.
Fullpage Application
A fullpage application takes over the entire content area of the shell and has its own menu.
Project Structure
src/
├── components/
│ └── Loading.tsx
├── hooks/
│ ├── index.tsx
│ └── useConfig.tsx
├── routes/
│ ├── __root.tsx
│ ├── index.tsx
│ └── about.tsx
├── AppWrapper.tsx
├── config.ts
├── main.tsx
├── providers.tsx
└── routeTree.gen.tsEntry Point (main.tsx)
Root Route (routes/__root.tsx)
Home Route (routes/index.tsx)
About Route (routes/about.tsx)
Providers (providers.tsx)
Configuration (config.ts)
App Wrapper (AppWrapper.tsx)
Handles locale synchronization with the shell:
Plugin Application
A plugin application embeds into specific areas of the shell using placeholder IDs. Plugin applications don't need routing since they render a single component.
Project Structure
Entry Point (main.tsx)
Configuration (config.ts)
Providers (providers.tsx)
App Component (App.tsx)
Content Component (components/Content.tsx)
Multi-Hybrid Application
A multi-hybrid application serves both fullpage and plugin applications from a single codebase using different base paths.
Project Structure
Entry Point (main.tsx)
Root Route (routes/__root.tsx)
Fullpage App Layout (routes/fullpage-app/route.tsx)
Fullpage Home (routes/fullpage-app/home.tsx)
Plugin App Route (routes/plugin-app/route.tsx)
Config Hook (hooks/useConfig.tsx)
Providers (providers.tsx)
Common Patterns
Data Access Pattern
Action Invocation Pattern
Navigation Pattern
Rich Modal Pattern
Getting Started
Use the CLI to create a new application:
Select your application type when prompted:
full_page - Fullpage application
plugin - Plugin application
multi_full_page - Multiple fullpage applications
multi_plugin - Multiple plugin applications
Related
Quick Start - Getting started guide
Shell Application - Shell documentation
Client Application - Client documentation
Last updated
Was this helpful?

