> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Structure

> Understand the organization and key files in your Base44 app project

Base44 apps are standard React apps built with Vite. Your project includes modern web development tools and seamless Base44 backend integration.

## Project structure

In the [Code Tab](../editor/code-tab) and when you [connect to GitHub](../local-development/github), you'll see the complete React/Vite project structure:

<Tree>
  <Tree.Folder name="src" defaultOpen>
    <Tree.Folder name="pages" />

    <Tree.Folder name="components">
      <Tree.Folder name="ui" />
    </Tree.Folder>

    <Tree.Folder name="api" />

    <Tree.Folder name="hooks" />

    <Tree.Folder name="lib" />

    <Tree.Folder name="utils" />
  </Tree.Folder>

  <Tree.Folder name="entities" />

  <Tree.Folder name="functions" />

  <Tree.File name="package.json" />

  <Tree.File name="vite.config.js" />

  <Tree.File name="tailwind.config.js" />

  <Tree.File name="index.html" />
</Tree>

### Project directories

Your project contains the following directories:

* **`src/`** - Frontend app code organized into these directories:
  * `pages` - The pages in your app. Each file is a route. `Home.jsx` becomes `/`, `Settings.jsx` becomes `/settings`.
  * `components` - Reusable UI elements. The `ui/` subfolder contains pre-built UI components.
  * `api` - Base44 SDK client configuration for communicating with your backend.
  * `hooks` - Custom React hooks for UI and state management.
  * `lib` - Base44 integration and app configuration code.
  * `utils` - Utility functions and helper methods.

* **`entities/`** - Your data model definitions. Each entity has a JSON schema file that defines its fields.

* **`functions/`** - Backend functions for backend logic. Each TypeScript file in this directory is a separate function.

<Note>
  **Entities:** When using GitHub 2-way integration, entities are managed in Base44 and are not included in your local repository.
</Note>

### Configuration files

The root directory includes all the configuration needed to run independently:

* `package.json` - Dependencies and scripts (includes @base44/sdk)
* `vite.config.js` - Build configuration with Base44 plugin
* `tailwind.config.js` - Styling configuration
* `index.html` - Main HTML entry point

## Run locally

To run the exported project locally: `npm install` then `npm run dev`.
