애드블럭 종료 후 보실 수 있습니다.

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • KeystoneJS로 간단하게 Admin페이지와 Headless CMS 만들기
    Tip 2023. 9. 6. 18:09
    728x90
    반응형

    KeystoneJS는 GraphQL을 기반으로 하는 CMS(Content Management System) 프레임워크입니다. React, Node.js, GraphQL을 기반으로 하며, GraphQL API를 통해 데이터를 관리하고, 웹사이트와 모바일 앱을 개발할 수 있습니다.

    1. KeystoneJS의 주요 특징

    • GraphQL 기반의 API: KeystoneJS는 GraphQL을 기반으로 하는 API를 제공합니다. GraphQL은 구조화된 데이터를 효율적으로 조회할 수 있는 API 표준입니다.
    • React 기반의 UI: KeystoneJS는 React를 기반으로 하는 UI를 제공합니다. React는 빠르고 유연한 UI 프레임워크입니다.
    • Node.js 기반의 백엔드: KeystoneJS는 Node.js를 기반으로 하는 백엔드를 제공합니다. Node.js는 빠르고 확장성이 뛰어난 백엔드 플랫폼입니다.

    2. KeystoneJS를 사용하는 주요 유형

    • CMS(콘텐츠 관리 시스템)
    • CRM(고객 관계 관리)
    • ERP(전사적 자원 관리)
    • SaaS(서비스형 소프트웨어)

    3. KeystoneJS 시작하기

    KeystoneJS는 CLI를 통해 무척 간단하게 시작할 수 있습니다.

    KeystoneJS CLI는 KeystoneJS 프로젝트를 생성하고, 데이터베이스를 설정하고, UI를 구성하는 데 도움이 되는 도구입니다.

    1. KeystoneJS CLI를 설치합니다.
    2. KeystoneJS 프로젝트를 생성합니다.
    3. 데이터베이스를 설정합니다.
    4. UI를 구성합니다.

    KeystoneJS 프로젝트를 생성하는 예시를 보여드리겠습니다.

    npx create-keystone

    이 명령을 실행하면 KeystoneJS 프로젝트가 생성됩니다. 생성된 프로젝트는 다음과 같은 디렉터리 구조를 갖습니다.

    keystone-project
    ├── app(KeystoneJS UI의 소스 코드)
    │   ├── components
    │   ├── pages
    │   └── store
    └── config(KeystoneJS의 설정 파일)

     

    이제 아래의 명령어를 입력하면 간단하게 실행됩니다.

    npm start

     

    4. KeystoneJS의 장점

    • 빠르고 쉽게 웹 애플리케이션을 구축할 수 있습니다.
    • 확장성이 뛰어나며 대규모 애플리케이션을 구축할 수 있습니다.
    • 다양한 기능을 제공하여 복잡한 애플리케이션을 구축할 수 있습니다.
    • 활발한 커뮤니티와 문서를 통해 지원을 받을  있습니다.

    5. KeystoneJS의 단점

    • KeystoneJS는 규모가 큰 프로젝트에 적합하지 않을 수 있습니다.
      KeystoneJS는 작은 규모의 프로젝트에 적합한 CMS 프레임워크입니다.
    • KeystoneJS의 일부 기능은 커스터마이징 하기 쉽지 않을 수 있습니다.
    • GraphQL기반의 CMS로 일반적으로 사용하는 REST API를 지원하긴 하지만 적절하지 않습니다.

    KeystoneJS는 사용하기 쉽고, 다양한 기능을 제공하며 Next.js로 제작하기도 간편합니다. Vercel이나 AWS 등으로도 간단하게 배포할 수 있는 CMS 프레임워크입니다.

    프로젝트를 진행할 때 가장 귀찮은 작업인 기본적인 Admin 페이지를 생성해 주기 때문에 엔터프라이즈 급의 프로젝트를 개발하는 경우가 아니고 GraphQL기반의 프로젝트라면 KeystoneJS를 사용할 것을 고려해 보는 것을 추천합니다.

    반응형

    댓글

Designed by Tistory.