Skip to content

Frontend Architecture

Comprehensive frontend architecture documentation.

Tech Stack

  • React Native 0.81.5
  • Expo 54.0.20
  • React Navigation 7.x
  • React Native Paper (Material Design)
  • TypeScript 5.9
  • Axios for HTTP

Architecture Diagram

App (Root)
├── AuthContext (Global State)
├── ThemeContext (Global State)
├── RootNavigator
│   ├── AuthStack (Not Authenticated)
│   │   ├── LoginScreen
│   │   ├── RegisterScreen
│   │   └── ForgotPasswordScreen
│   │
│   └── AppNavigator (Authenticated)
│       ├── BottomTabNavigator
│       │   ├── HomeStack
│       │   ├── UploadStack
│       │   ├── VerifyStack
│       │   └── MoreStack

Key Design Patterns

  • Context API: Global state management
  • Custom Hooks: Code reuse
  • Compound Components: Flexible UI
  • Container/Presenter: Separation of concerns

Performance Optimization

  • Lazy loading screens
  • Memoization with React.memo
  • useCallback for event handlers
  • Image caching

State Management

// AuthContext
const AuthContext = React.createContext<{
  user: User | null;
  token: string | null;
  login(): Promise<void>;
  logout(): Promise<void>;
}>(null);

See Navigation Documentation.

Next Steps