자주 묻는 질문

많이 본 질문

NexiBase는 Next.js 16 기반의 오픈소스 풀스택 CMS입니다. 게시판·카테고리·회원·쇼핑몰·FAQ 등 커뮤니티/콘텐츠 사이트에 필요한 기능을 플러그인 단위로 묶어 제공합니다.

기술 스택은 Next.js 16 App Router, React 19, Prisma + MySQL, Tailwind 4입니다.

도움이 되었나요?

커뮤니티 사이트, 정보 제공 사이트, 쇼핑몰, 사내 인트라넷 등 콘텐츠 중심의 웹사이트에 두루 쓸 수 있습니다. 기본 제공되는 게시판·폴·FAQ·쇼핑 플러그인을 조합하거나, 직접 플러그인을 추가해 확장할 수 있습니다.

도움이 되었나요?

네. MIT 라이선스로 공개되어 있어 상업적 사용을 포함해 자유롭게 쓸 수 있습니다. 저작권 고지만 유지하면 됩니다.

도움이 되었나요?

워드프레스가 PHP 기반의 성숙한 CMS라면, NexiBase는 Next.js 16 + React 19 + TypeScript 기반의 모던 스택을 씁니다. 다음 특징이 다릅니다:

  • 서버 컴포넌트 기반의 빠른 초기 렌더링
  • 플러그인이 프론트/백/스키마를 한 폴더에 캡슐화
  • 타입 안전한 API와 데이터 모델
  • 컨테이너 친화적 배포(PM2, Docker)
도움이 되었나요?

GitHub 저장소에서 확인하실 수 있습니다: github.com/nexibase/nexibase

이슈·풀 리퀘스트 환영합니다.

도움이 되었나요?

최소 요구사항:

  • Node.js 22 이상
  • MySQL 8 또는 MariaDB 10.6 이상
  • npm 또는 pnpm

프로덕션에서는 PM2·Nginx 등으로 프로세스/리버스 프록시를 붙이는 걸 권장합니다.

도움이 되었나요?

다음 순서로 설치합니다:

  1. git clone --recurse-submodules https://github.com/nexibase/nexibase.git
  2. cd nexibase && npm install
  3. .env 파일에 DATABASE_URL 등 환경변수를 설정
  4. npm run db:setup으로 스키마 반영
  5. npm run dev(개발) 또는 npm run build && npm start(운영)

첫 접속 시 설치 마법사가 열려 초기 관리자 계정과 사이트 설정을 안내합니다.

도움이 되었나요?

현재는 MySQL / MariaDB를 공식 지원합니다. Prisma를 통해 접근하므로 다른 DB로 이식 자체는 가능하지만, 마이그레이션·테스트가 추가로 필요합니다.

도움이 되었나요?

첫 배포 후 사이트에 접속하면 설치 마법사(/install)가 자동으로 열립니다. 관리자 이메일·비밀번호·사이트 이름을 입력하면 role=admin인 첫 계정이 생성됩니다.

도움이 되었나요?

기본적으로 GitHub에서 최신을 pull 받은 뒤 다음을 실행합니다:

  1. npm install — 변경된 의존성 반영
  2. npm run db:migrate 또는 npx prisma db push — 스키마 변경 반영
  3. npm run build 후 프로세스 재시작(pm2 reload 등)
도움이 되었나요?

NexiBase에서 플러그인은 한 폴더(src/plugins/<name>/) 안에 라우트·API·데이터 모델·관리자 UI·번역 파일을 모두 담은 독립 기능 단위입니다. 플러그인 하나를 추가/제거하면 사이트의 해당 기능이 통째로 켜지거나 꺼집니다.

도움이 되었나요?

현재 기본 번들:

  • boards — 게시판(글/댓글/투표/파일/쪽지)
  • contents — 일반 콘텐츠 페이지
  • polls — 설문/투표
  • faq-accordion — 이 FAQ 시스템
  • policies — 이용약관·개인정보처리방침 등 정책 페이지
  • countdown-timer — 카운트다운 위젯
  • weather-widget — 날씨 위젯
  • vibe-coding-recipes — 코딩 레시피 모음
  • shop(서브모듈) — 쇼핑몰
도움이 되었나요?

관리자 페이지의 플러그인 관리 화면에서 각 플러그인을 켜거나 끌 수 있습니다. 비활성화하면 해당 플러그인의 라우트·위젯·관리 메뉴가 숨겨집니다.

코드 레벨에서 완전히 제거하려면 src/plugins/<name>/ 디렉토리를 삭제하고 다시 빌드하면 됩니다.

도움이 되었나요?

네. src/plugins/my-plugin/에 plugin.ts(메타 정보), 선택적으로 schema.prisma(DB 모델), routes/(공개 페이지), admin/(관리자 UI), api/(서버 API), locales/(번역)를 두면 빌드 스캐너가 자동으로 앱에 통합합니다.

자세한 구조는 기존 플러그인(예: faq-accordion) 소스를 참고하세요.

도움이 되었나요?

테마는 사이트의 색상·폰트·기본 스타일을 묶은 설정입니다. 기본 번들에는 다음이 포함됩니다:

  • default — 기본 테마
  • cool-blue — 차분한 블루 톤
  • ocean-blue — 밝은 오션 블루 톤

테마는 src/themes/<name>/ 폴더에 정의되며, 새 테마도 동일한 방식으로 추가할 수 있습니다.

도움이 되었나요?

관리자 페이지의 사이트 설정 > 테마에서 전체 사이트의 기본 테마를 바꿀 수 있습니다. 변경 즉시 반영됩니다.

도움이 되었나요?

네. src/app/custom.css 파일을 편집하면 모든 페이지에 스타일이 주입됩니다. 테마 변수를 덮어쓰거나 특정 컴포넌트만 손볼 수 있습니다.

설치 직후에는 src/app/custom.example.css의 내용이 복사되어 있으며, 이후부터는 custom.css를 자유롭게 수정하세요.

도움이 되었나요?

위젯은 랜딩 페이지·서브 페이지 등 레이아웃의 특정 영역에 꽂아 넣을 수 있는 조립형 블록입니다. 예: 인기 게시글, 날씨, GitHub 통계, 카운트다운, 설문 결과 등.

플러그인이 자신의 위젯을 자동 등록하므로, 새 플러그인을 추가하면 사용 가능한 위젯 목록도 늘어납니다.

도움이 되었나요?

관리자 페이지의 레이아웃/페이지 편집에서 원하는 영역에 위젯을 선택해 추가하고 드래그로 순서를 조절합니다. 위젯마다 노출 설정(예: 표시할 개수, 카테고리)이 다를 수 있습니다.

도움이 되었나요?

/admin 경로로 접근합니다. role이 admin 또는 manager인 계정만 진입할 수 있습니다.

도움이 되었나요?

기본 세 등급이 있습니다:

  • admin — 모든 관리 기능에 접근. 사이트 전역 설정 가능.
  • manager — 관리 페이지 접근 가능, 일부 민감 기능 제한.
  • user — 일반 회원. 관리 페이지 접근 불가.
도움이 되었나요?

각 플러그인은 자체적으로 회원 탈퇴 정책을 선언합니다. 데이터 성격에 따라 다르게 처리됩니다:

  • retain — 공개된 콘텐츠(게시글·댓글 등)는 유지되고 작성자 표시만 익명화
  • delete — 개인 데이터(쪽지·결제 정보 등)는 삭제

이 정책은 플러그인 코드에 명시되어 빌드 시 검증되므로, 누락된 처리가 있으면 빌드 자체가 실패합니다.

도움이 되었나요?

네. 관리자 설정에서 한국어(ko)영어(en) 중 UI 언어를 선택할 수 있습니다. 번역되지 않은 문자열은 기본 언어로 표시됩니다.

참고: UI 문자열만 번역되며, 작성된 게시글·FAQ 등의 콘텐츠는 언어별로 따로 저장되지 않습니다.

도움이 되었나요?

네. 각 플러그인의 locales/<언어코드>.json을 추가하거나 수정하면 해당 언어의 UI 문자열을 바꿀 수 있습니다. 빌드 시 자동으로 머지되어 적용됩니다.

도움이 되었나요?