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

# フレームワークの概要

Morphフレームワークは、Pythonとマークダウンを用いてWebアプリケーションを構築するフレームワークです。アプリケーションのバックエンドを**Python**で、フロントエンドを**マークダウン**で構築することができます。

## ディレクトリ構成

フレームワークのディレクトリ構成は以下のようになっています。

```bash workdir theme={"dark"}
.
├── src
│   ├── pages/
│   ├── python/
│   └── sql/
├── .env
├── Dockerfile
└── morph_project.yml
```

* `src` ... データアプリのソースコードを配置するディレクトリ
  * `pages` ... フロントエンドのMDXファイルを配置するディレクトリ
  * `python` ... バックエンドのPythonファイルを配置するディレクトリ
  * `sql` ... バックエンドのSQLファイルを配置するディレクトリ
* `.env` ... 環境変数を設定するファイル
* `Dockerfile` ... データアプリをDockerコンテナとしてビルドするためのファイル
* `morph_project.yml` ... プロジェクトの設定を記述するファイル. フレームワークは`morph_project.yml`が配置されているディレクトリをルートディレクトリとして認識します。

これらに加えて、Pythonパッケージの管理用に `requirements.txt` か `pyproject.toml` が、JavaScriptパッケージの管理用に `package.json` が配置されます。

## 開発サーバーを起動する

データアプリの挙動を確認するために、開発サーバーを起動します。

```bash Shell theme={"dark"}
morph serve
```

上記コマンドでサーバーの起動が成功したら、`http://localhost:8080`にアクセスすることでデータアプリにアクセスすることができます。

## 詳細なカスタマイズ

Morphには、データアプリをカスタマイズするための便利な機能が用意されています。
SQLやPythonで使用できる関数や機能を確認するためには、[フレームワークリファレンス](/reference/ja/framework/morph-project)をご覧ください。
フロントエンド開発で使用できるMDXコンポーネントの詳細は、[コンポーネントリファレンス](/data-application/ja/data-component-table)をご覧ください。

最後に、準備ができてチームに共有する場合には[デプロイガイド](/docs/ja/quickstart/dashboard-setup)をご覧ください。

<CardGroup cols={2}>
  <Card title="エイリアス" icon="square-1" href="/docs/ja/develop/guides/alias">
    Morphフレームワーク全体にまたがる概念であるエイリアスについて学びます。
  </Card>

  <Card title="バックエンドを構築する" icon="square-2" href="/docs/ja/develop/guides/building-backend">
    Pythonでバックエンドを構築する方法について学びます。
  </Card>

  <Card title="フロントエンドを構築する" icon="square-3" href="/docs/ja/develop/guides/building-frontend">
    マークダウンでフロントエンドを構築する方法について学びます。
  </Card>

  <Card title="環境変数" icon="square-4" href="/docs/ja/develop/guides/environment-variables">
    環境変数でシークレット情報を管理する
  </Card>

  <Card title="DB/SaaSと接続する" icon="square-5" href="/docs/ja/develop/guides/integration">
    DBやSaaSにアクセスをしたデータアプリを構築する
  </Card>

  <Card title="変数を使う" icon="square-6" href="/docs/ja/develop/guides/variables">
    ユーザーインプットに応じて、データアプリの挙動をカスタマイズする
  </Card>

  <Card title="ロールベースのアクセス制御" icon="square-7" href="/docs/ja/develop/guides/user-role">
    ユーザーのプロジェクトロールを活用してデータのアクセス制御やアプリの挙動をカスタマイズする
  </Card>
</CardGroup>
