今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
いま読んでいる一膳fastapi/full-stack-fastapi-templateFastAPI・React・PostgreSQL・Docker で、認証とダッシュボード付きのフルスタック Web アプリケーションをすぐに構築できるテンプレートです。信頼度 1.43ほかの一膳rtk-ai/rtkエージェント向けバッシュ出力を最大90%圧縮するRust製CLIプロキシ信頼度 1.57ほかの一膳ScrapeGraphAI/Scrapegraph-ai大規模言語モデルとグラフロジックを使ってWebサイトやローカルドキュメントからデータを抽出するPythonライブラリです。信頼度 1.56
今日の優良食堂 · ギット飯が代わりに導入・分析

fastapi/full-stack-fastapi-template

FastAPI・React・PostgreSQL・Docker で、認証とダッシュボード付きのフルスタック Web アプリケーションをすぐに構築できるテンプレートです。

docker compose up ひとつで、FastAPI・React・PostgreSQLが揃った状態が立ち上がり、JWT認証やメールでのパスワード復旧、Traefik経由の自動HTTPSまで動く様子をその場で確認できます。OpenAPI定義からフロントエンド用クライアントが自動生成されるため、バックエンドの型がそのままReact側に反映される感覚を体験できます。公式FastAPIチームが保守するレファレンス実装なので、MVPの土台にも、SQLModelやTanStackエコシステムの学習用にも、今日そのまま試す価値があります。

01 / 概要
何をするものか一文で言うと
ひとことでFastAPI・React・PostgreSQL・Docker で、認証とダッシュボード付きのフルスタック Web アプリケーションをすぐに構築できるテンプレートです。

FastAPIとReact、PostgreSQLを組み合わせたフルスタックWebアプリのテンプレートです。JWT認証・ユーザー管理・アイテムCRUD・メール送信・Docker Compose構成・CIまで一式が最初から揃っています。READMEの「Use this template」ボタンから複製し、そのまま新規サービスの土台として使う設計です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

バックエンドはFastAPI+SQLModelでAPIとORMを実装し、Alembicでマイグレーションを管理します。backend/Dockerfileはマルチステージビルドで、まずbunでフロントエンドをビルドし、backend/app/frontendに静的ファイルとしてコピーします。backend/app/main.pyのapp.frontendによって、FastAPI自身が同一ドメインでUIとAPIの両方を配信する構成です。フロントエンドはfrontend/src/client配下の自動生成クライアントを使い、TanStack Query経由でAPIを呼び出します。docker-composeでPostgreSQL・Traefik・Mailpitなどのローカルサービスをまとめて起動し、GitHub Actionsのtest-backend・test-docker-compose・playwrightがCIで検証します。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    GitHubの「Use this template」で複製し、.envのSECRET_KEYやPOSTGRES_PASSWORDなど、シークレット値を書き換えます。

  2. STEP 02

    docker compose upを実行すると、Traefikがリバースプロキシとして立ち上がり、PostgreSQL・backend・frontend・Mailpitのコンテナが順に起動します。

  3. STEP 03

    ブラウザでhttp://localhostを開くとReact製のログイン画面が表示され、http://localhost/docsではSwagger UIの対話的APIドキュメントが見られます。

  4. STEP 04

    backend/scripts/test.shを実行すると、pytestによるAPIルート・CRUD・認証周りのテストが走り、coverageレポートが出力されます。

  5. STEP 05

    frontendでbun run generate-clientを実行すると、バックエンドのOpenAPIスキーマからTypeScriptクライアント一式が再生成されます。

  6. STEP 06

    パスワードリセットを試すと、実メール送信の代わりにMailpit画面上に届いたメールが表示され、React Emailテンプレートの見た目を確認できます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

docker composeひとつで、ログイン画面・管理者用ユーザー管理画面・アイテムCRUD画面・ダークモード・Swagger UIまで揃った動作するアプリが手に入ります。バックエンドはAlembicでマイグレーション済みのPostgreSQLとpytestテスト一式を、フロントエンドは自動生成APIクライアントとPlaywright E2Eテストを同梱しています。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

backend/DockerfileとpyproJect.tomlはいずれもPython 3.14以上を前提としており、比較的新しいランタイムが必要です。

02

フロントエンドのビルドにはbunが必須で、bun.lockに依存しているためnpmやyarnだけでの再現は想定されていません。

03

本番運用にはdeployment.mdやdeployment-docker-compose.mdに書かれた追加設定、TraefikのHTTPS用ドメイン設定などが別途必要です。

04

.envには開発用のダミーシークレットが含まれているため、実運用前に必ず値を差し替える必要があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

FastAPIとReactの構成で新規サービスを素早く立ち上げたい開発者、特にJWT認証・管理画面・メール送信まで最初から欲しいチームに向いています。Dockerfile・pyproject.toml・READMEの記述内容は一貫しており、CIワークフローもtest-backend・test-docker-compose・playwrightなど実行内容が明記されているため、実際に動かさなくても構成の妥当性は判断できます。ただしPython 3.14やbunなど前提ツールの新しさは、着手前に確認しておく価値があります。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する