정지용
기술스택 목록
백엔드

Strapi

프로젝트 1에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

관리자 UI와 API를 자동 생성해 콘텐츠를 관리하는 오픈소스 헤드리스 CMS

Strapi는 Node.js 기반의 오픈소스 헤드리스 CMS로, 콘텐츠 모델을 정의하면 관리자용 대시보드와 REST/GraphQL API를 자동으로 만들어준다. 전통적인 CMS가 화면 출력까지 담당하던 것과 달리, 콘텐츠 저장·관리와 데이터 제공만 맡고 프론트엔드는 별도로 자유롭게 구성하는 방식을 지향한다. 개발자가 콘텐츠 구조 설계와 API 서버 구축에 드는 반복 작업을 줄이기 위해 만들어졌다.

이럴 때 사용합니다

  • 여러 프론트엔드(웹, 앱)에서 같은 콘텐츠를 API로 공유해야 할 때
  • 비개발자도 콘텐츠를 직접 입력·수정할 관리자 화면이 필요할 때
  • 콘텐츠 모델과 API를 빠르게 구축하고 세밀하게 커스터마이징하고 싶을 때
  • 자체 서버에 호스팅하며 데이터와 인프라를 직접 통제하고 싶을 때

핵심 개념

Headless CMS
콘텐츠를 화면 렌더링과 분리해 API 형태로만 제공하는 CMS 방식으로, 웹·앱 등 여러 프론트엔드에서 같은 콘텐츠를 재사용할 수 있다.
Content-Type Builder
필드와 관계를 정의해 콘텐츠 구조(스키마)를 만드는 관리자 화면 도구로, 코드 없이 데이터 모델을 설계할 수 있다.
Collection Type / Single Type
여러 항목을 반복 생성하는 Collection Type과 항목이 하나뿐인 Single Type으로 콘텐츠 구조의 성격을 구분한다.
Admin Panel
콘텐츠 입력·수정, 사용자·권한 관리를 담당하는 자동 생성 관리자 웹 인터페이스다.
Role-Based Access Control
관리자와 API 사용자별로 역할과 권한을 세분화해 콘텐츠 접근 범위를 제어하는 기능이다.
Plugin
이메일, 미디어 라이브러리, i18n 등 기능을 추가하거나 확장할 수 있는 모듈 구조다.

Strapi 프로젝트 생성 및 실행

CLI로 새 Strapi 프로젝트를 생성하고 개발 모드로 실행해 관리자 패널에 접속하는 기본 흐름이다.

Shell
# 새 Strapi 프로젝트 생성
npx create-strapi-app@latest my-project

cd my-project

# 개발 서버 실행 (관리자 패널: http://localhost:1337/admin)
npm run develop

처음 쓸 때 흔한 함정

  • 콘텐츠 타입을 만들어도 기본적으로 API 권한이 열려있지 않아 별도 권한 설정이 필요하다
  • 관리자 패널과 API 서버가 같은 프로세스에서 동작해 배포·스케일링 구조를 함께 고려해야 한다
  • 스키마 변경이 데이터베이스 마이그레이션에 영향을 주므로 운영 환경에서는 신중히 다뤄야 한다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

  1. 01백엔드
    2026년 7월

    Strapi 헤드리스 CMS 어드민 문서

    Node.js 기반 Strapi 헤드리스 CMS 어드민 인스턴스의 구조를 정리한 공개 기술 문서 레포지토리

    이 프로젝트에서의 Strapi 활용

    헤드리스 CMS 어드민 인스턴스를 구성하는 핵심 프레임워크로 사용

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.