Tutorial 2. App Shell and Navigation
Create the app shell
Define the root providers for:
- theme
- session
- query or data client
- analytics or route tracking hooks
Keep the shell minimal. Anything mounted here affects every screen.
Define route types
export type RootStackParamList = {
HomeTabs: undefined;
GuideDetails: { guideId: string };
Settings: undefined;
};
Build the navigation model
- stack for top-level routes
- tabs for core app sections
- details route for guide content
Start the design system
Create primitives:
ScreenStackTextButtonCard
This stops the tutorial from drifting into one-off screen styling.
Continue to Data and State.