Skip to content

올인원 채용 플랫폼 굿잡(Good Job)의 백엔드 리포지토리입니다.

Notifications You must be signed in to change notification settings

Team-Ooleem/GoodJob_backend

Repository files navigation

Good Job Nest

image image

NestJS 기반의 백엔드 프로젝트입니다.

🚀 시작하기

필수 요구사항

  • Node.js: 22.19.0 (정확한 버전 필수)
  • 패키지 매니저: pnpm (npm, yarn 사용 금지)
  • MySQL: 8.0 이상

Node.js 버전 확인

node --version
# v22.19.0이어야 합니다

pnpm 설치 (아직 설치되지 않은 경우)

npm install -g pnpm

📦 의존성 설치

pnpm install

🗄️ 데이터베이스 설정

SQL 파일 구조

프로젝트의 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:dev

프로덕션 빌드

pnpm build
pnpm start:prod

🧪 테스트

pnpm test
pnpm test:e2e

📝 스크립트

애플리케이션

  • pnpm 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을 사용하면 설치가 실패할 수 있습니다

About

올인원 채용 플랫폼 굿잡(Good Job)의 백엔드 리포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5