benavlabs/crudadmin

FastAPIアプリケーション向けの最新管理画面ジェネレーター。認証・イベント追跡・セキュリティ機能が組み込まれています。

インストール型ツール自由に使える · MITバックエンド・DBPython難易度
4550 保存
32フォーク2Issue
デモ・公式サイトをひらくbenavlabs.github.io

中辛 の解説

FastAPI・SQLAlchemy・Pydantic v2ベースの管理画面自動生成ツールです。セッション管理はメモリ・Redis・Memcached・データベース・ハイブリッドから選択できます。CSRF保護・レート制限・IP制限・HTTPS強制・安全なクッキーが標準装備されており、イベント追跡と監査ログで全ての管理画面操作を記録します。初期設定は数行のコードで完了し、すぐにデモ環境で動作確認できます。

こんなリポジトリです

こんなときに便利です

  • FastAPIプロジェクトに管理画面を素早く追加したいとき
  • 複数のデータベーステーブルをGUIで管理・編集したいとき
  • 管理画面操作の監査ログと人物特定を実装したいとき

主な機能

マルチバックエンド対応のセッション管理(メモリ・Redis・Memcached・DB・ハイブリッド)SQLAlchemyモデルから自動生成される型安全な管理UI組み込み認証・CSRF保護・IP制限・レート制限などの本番対応セキュリティ

ほかとの違い

FastAPI・Pydantic v2・SQLAlchemy非同期対応を専門設計し、複数セッションバックエンドの切り替え・ハイブリッド永続化・マルチテナント監査ログで、スケーラビリティと運用性を両立させています。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Python 3.8以上
  • FastAPI
  • SQLAlchemy
  • Pydantic v2

すぐに始める

  1. crudadminパッケージをインストールします。
uv add crudadmin
  1. Redis使用時は以下をインストールします(オプション)。
uv add "crudadmin[redis]"
  1. FastAPIアプリケーションをセットアップし、モデルと管理画面を初期化します。
from contextlib import asynccontextmanager
from fastapi import FastAPI
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from crudadmin import CRUDAdmin
from .user import User, UserCreate, UserUpdate

engine = create_async_engine("sqlite+aiosqlite:///app.db")

async def get_session():
    async with AsyncSession(engine) as session:
        yield session

admin = CRUDAdmin(
    session=get_session,
    SECRET_KEY="your-secret-key-here",
    initial_admin={
        "username": "admin",
        "password": "secure_password123"
    }
)

admin.add_view(
    model=User,
    create_schema=UserCreate,
    update_schema=UserUpdate,
    allowed_actions={"view", "create", "update"}
)

@asynccontextmanager
async def lifespan(app: FastAPI):
    async with engine.begin() as conn:
        await conn.run_sync(Base.metadata.create_all)
    await admin.initialize()
    yield

app = FastAPI(lifespan=lifespan)
app.mount("/admin", admin.app)
  1. アプリケーションを起動します。
uvicorn main:app --reload
  1. ブラウザでhttp://localhost:8000/adminにアクセスし、管理画面にログインします。

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try benavlabs/crudadmin

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

4557日間の増加数を計算するための比較データが不足しています

確認日時

使いやすさ · まねしやすいか

まねしやすいサンプル評点 52/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2024 年に作成

「バックエンド・DB」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/benavlabs/crudadmin.svg)](https://www.gitbap.com/r/benavlabs/crudadmin)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る