benavlabs/crudadmin

FastAPI용 보안 인증, 이벤트 추적, 감시 기능이 내장된 현대적 관리자 인터페이스 생성기

설치형 도구맘대로 써도 됨 · MIT백엔드·DBPython난이도
449+3이번 주0
30포크2이슈
데모·홈페이지 열기benavlabs.github.io

중간맛 분석

스택: FastAPI + SQLAlchemy + Pydantic v2 + HTMX / 난이도: 중간 / 바로 쓸 수 있나: 예 — 설치 후 모델 등록으로 즉시 관리 화면 생성 / 데모: YouTube 동영상 데모(THLdUbDQ9yM) 제공 / 주요 특징: 다중 세션 백엔드(메모리/Redis/Memcached/DB), CSRF/레이트 제한/IP 제한 등 내장 보안, 자동 폼 생성, 페이지네이션 테이블, 전체 CRUD 작업, 이벤트 추적 및 감사 로그, 시스템 상태 모니터링

이런 레포예요

이럴 때 쓰면 좋아요

  • SaaS 또는 웹 애플리케이션의 데이터 관리를 위한 빠른 관리자 대시보드 구축
  • 사용자 활동 추적이 필요한 엔터프라이즈 애플리케이션의 감사 로그 및 이벤트 추적
  • 프로토타입에서 프로덕션까지 보안 기능(CSRF, 레이트 제한, IP 제한)이 미리 적용된 관리 화면 제공

핵심 기능

SQLAlchemy 모델에서 자동으로 CRUD 관리 화면 생성Redis, Memcached, 데이터베이스 등 다중 세션 백엔드 지원모든 관리자 작업의 전체 감사 로그 및 이벤트 추적

대안 대비 차별점

FastAPI용 관리자 인터페이스 중 자동 UI 생성, 내장 감사 로그, 다중 세션 백엔드를 한 패키지로 제공하여 최소 설정으로 프로덕션급 대시보드를 구축할 수 있습니다.

준비물

  • Python 3.7+
  • FastAPI
  • SQLAlchemy (비동기 엔진 권장)

바로 시작하기

  1. CRUDAdmin 패키지 설치하기
uv add crudadmin
  1. 프로덕션에서 Redis 세션을 사용할 경우 설치
uv add "crudadmin[redis]"
  1. FastAPI 애플리케이션에 CRUDAdmin 초기화하기
from contextlib import asynccontextmanager
from fastapi import FastAPI
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from crudadmin import CRUDAdmin

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"
    }
)
  1. 모델을 관리 인터페이스에 등록하기
admin.add_view(
    model=User,
    create_schema=UserCreate,
    update_schema=UserUpdate,
    allowed_actions={"view", "create", "update"}
)
  1. FastAPI 애플리케이션에 lifespan과 마운트 설정하기
@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. 애플리케이션 실행 후 /admin 접속하여 초기 설정한 관리자 계정으로 로그인

별 추이 · 7일

449+3 / 7일

활용성 · 따라 만들기 좋은가

따라 하기 좋음샘플 점수 52/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2024년 생성

이 레포에 깃밥 배지 달기

[![깃밥](https://www.gitbap.com/badge/benavlabs/crudadmin.svg)](https://www.gitbap.com/r/benavlabs/crudadmin)

🔌 클로드에서 바로 써보기

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기