NestJS 기반의 백엔드 프로젝트입니다.
- Node.js:
22.19.0(정확한 버전 필수) - 패키지 매니저:
pnpm(npm, yarn 사용 금지) - MySQL:
8.0이상
node --version
# v22.19.0이어야 합니다npm install -g pnpmpnpm install프로젝트의 SQL 파일들이 다음과 같이 분리되어 있습니다:
sql/schema.sql- 데이터베이스 테이블 구조 (CREATE TABLE 문)sql/data.sql- 기본 데이터 (INSERT 문)
범용 스크립트가 운영체제를 자동으로 감지하여 적절한 방법으로 데이터베이스를 설정합니다.
# 데이터베이스 초기화 (스키마만)
pnpm run db:setup
# 또는
pnpm run db:init
# 데이터베이스 초기화 (스키마 + 기본 데이터)
pnpm run db:init:with-data
# 데이터베이스 리셋 (기존 데이터 삭제 후 재생성, 스키마만)
pnpm run db:reset
# 또는
pnpm run db:init:reset
# 데이터베이스 리셋 (기존 데이터 삭제 후 재생성, 스키마 + 기본 데이터)
pnpm run db:init:with-data:reset.env 파일이 필요합니다.
애플리케이션 실행을 위해 .env 파일을 생성하고 데이터베이스 연결 정보를 설정하세요.
cp env.example .env그 후 .env 파일에서 데이터베이스 연결 정보를 수정하세요:
# 데이터베이스 설정
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password_here
DB_NAME=good_job참고: .env 파일이 없으면 데이터베이스 자동 설정 스크립트가 실행되지 않습니다.
pnpm start:devpnpm build
pnpm start:prodpnpm test
pnpm test:e2epnpm start:dev- 개발 모드로 실행pnpm build- 프로덕션 빌드pnpm test- 단위 테스트 실행pnpm lint- 코드 린팅pnpm format- 코드 포맷팅
pnpm db:setup- 데이터베이스 초기화 (스키마만)pnpm db:reset- 데이터베이스 리셋 (기존 데이터 삭제 후 재생성, 스키마만)pnpm db:init- 데이터베이스 초기화 (스키마만)pnpm db:init:reset- 데이터베이스 리셋 (스키마만)pnpm db:init:with-data- 데이터베이스 초기화 (스키마 + 기본 데이터)pnpm db:init:with-data:reset- 데이터베이스 리셋 (스키마 + 기본 데이터)
참고: 모든 데이터베이스 명령어는
setup-database-universal.js스크립트를 사용하여 Windows, Mac, Linux에서 동일하게 작동합니다.
- 반드시 Node.js 22.19.0 버전을 사용하세요
- pnpm만 사용하세요 (package.json의 preinstall 스크립트가 이를 강제합니다)
- MySQL이 설치되어 있고 서비스가 실행 중이어야 합니다
- npm이나 yarn을 사용하면 설치가 실패할 수 있습니다