Skip to content

Unveiling the Directory Structure of Expo app

This guide explores the directory structure of an Expo app under AppLaunchKit, detailing the purpose and contents of each folder. Understanding this structure will help you navigate the codebase and enhance your development workflow.

Overview

|-- .storybook
|-- app/
| |-- (identity-check) // checks authenticated user
| |-- (public) // all the public routes
| |-- (private) // all the private routes
|-- assets
| |-- images
| |-- fonts
| |-- icons
|-- components
| |-- common
|-- config
|-- |-- .env
|-- context
|-- hooks
| |-- useNavigationLinks.ts
|-- services
| |-- zod-validators
|-- lib
|-- types
|-- services
|-- utils
|-- stories

.storybook

Config files for storybook

app

Contains all route pages and main application views. This is where the different pages of your application are defined and structured, ensuring proper routing and navigation within the app.

assets

Holds static assets like images, fonts, and other multimedia resources. This directory ensures that all static files are easily accessible and organized for use throughout the application.

components

Stores reusable UI components for your app. These are the building blocks of your application’s user interface, allowing for modular and maintainable code.

config

Contains configuration files and settings for your application. This includes environment variables, API keys, and other configuration data that your app needs to run correctly.

context

Houses context providers for managing global state and shared data. This allows for efficient state management and data sharing across different parts of your application.

hooks

Contains custom hooks, including those related to authentication, theme management, and other reusable logic. Hooks encapsulate and reuse stateful logic throughout your app.

services

Includes all service functions and validation logic for your app. This directory manages interactions with APIs, handles data processing, and ensures business logic is kept separate from UI components.

lib

Contains integrations with third-party libraries. This directory manages external dependencies and ensures that interactions with third-party services and libraries are well-organized and maintainable.

types

Defines TypeScript types and interface objects for your app. This ensures type safety and helps with maintaining consistent data structures throughout your application.

utils

Contains utility functions and helper methods. These are general-purpose functions that provide reusable functionality and simplify code across your application.

stories

Contains stories for testing and developing components.