2.0 KiB
2.0 KiB
Kord (Monorepo)
Kord는 Discord 서버 관리를 돕는 강력하고 유연한 다기능 봇 및 전용 웹 대시보드 프로젝트입니다. 현재 모노레포(Monorepo) 구조로 관리되고 있습니다.
1. 프로젝트 구조 (Structure)
본 프로젝트는 Turborepo와 Yarn Workspaces를 사용합니다.
apps/bot: Discord.js 기반의 봇 본체 (ShardingManager 적용)apps/dashboard: Next.js 기반의 봇 관리 웹 대시보드packages/db: Prisma 스키마 및 데이터베이스 데이터 접근 레이어 (공용)packages/grpc-contracts: 봇과 대시보드 간의 gRPC 통신 규약 (공용)
2. 요구사항 (Requirements)
- Runtime: Node.js v22 이상 (추천)
- Package Manager: Yarn v4 (Berry)
- Database: PostgreSQL (Prisma 사용)
- Discord: Bot Token 및 Client ID
3. 시작하기 (Quick Start)
로컬 개발 환경 설정
-
의존성 설치:
yarn install -
환경 변수 설정: 루트 및 각 앱 디렉토리의
.env설정을 완료합니다. -
데이터베이스 및 코드 생성:
yarn run generate
실행 방법
전체 프로젝트를 한꺼번에 실행하거나 개별 앱을 실행할 수 있습니다.
-
모든 앱 실행 (Bot + Dashboard):
yarn dev -
봇만 실행:
yarn workspace @kord/bot dev -
대시보드만 실행:
yarn workspace dashboard dev
4. 아키텍처 (Architecture)
Kord는 gRPC Proxy 아키텍처를 사용하여 대시보드와 샤딩된 봇 인스턴스 간의 실시간 통신을 처리합니다. 자세한 내용은 관련 문서를 참조하세요.
5. 문서 (Documentation)
모둔 상세 문서는 Docs/ 디렉토리에 위치합니다.