Skip to content

scv74502/hr

Repository files navigation

HR Management System

프로젝트 개요

멀티모듈 기반의 인사 관리 시스템으로, Kotlin + Spring Boot를 사용하여 구현되었습니다.

기술 스택

  • Language: Kotlin 1.9.24
  • Framework: Spring Boot 3.3.5
  • Build Tool: Gradle (Kotlin DSL)
  • Database: MySQL 8.0
  • ORM: JPA + QueryDSL
  • Java Version: 21
  • Containerization: Docker, Docker Compose

Docker로 실행하기

필수 요구사항

  • Docker
  • Docker Compose

실행 방법

# 1. 컨테이너 빌드 및 시작
docker-compose up --build

# 2. 백그라운드 실행
docker-compose up -d --build

# 3. 로그 확인
docker-compose logs -f

# 4. 특정 서비스 로그만 확인
docker-compose logs -f app
docker-compose logs -f mysql

# 5. 컨테이너 중지
docker-compose down

# 6. 볼륨까지 삭제 (데이터 초기화)
docker-compose down -v

컨테이너 구성

  • MySQL 컨테이너:

    • 포트: 3306
    • 데이터베이스: hr
    • 사용자: hr_user / hr_password
    • 데이터 볼륨: mysql_data (영속성 보장)
  • 애플리케이션 컨테이너:

    • 포트: 8080
    • MySQL 컨테이너가 정상 동작 확인 후 시작
    • JPA DDL 설정: update (자동 테이블 생성/수정)

API 접근

애플리케이션이 정상적으로 시작되면 다음 주소로 접근할 수 있습니다:

http://localhost:8080

로컬 개발 환경 설정

로컬에서 직접 실행하려면 다음 환경 변수를 설정해야 합니다:

export DB_URL="jdbc:mysql://localhost:3306/hr?useSSL=false&serverTimezone=Asia/Seoul"
export DB_USERNAME="hr_user"
export DB_PASSWORD="hr_password"

단계별 진행상황

  • [HR-01] 초기 멀티모듈 설정
  • [HR-02] 로컬 DB 연결 테스트
  • [HR-03] QueryDSL 적용하기
  • [HR-04] 특정 사원 이력 정보, 사원정보 업데이트, 부서 및 위치 정보 조회, 특정 부서 급여 인상 등 기능 구현하기
  • [HR-05] local, prod 설정 분기 및 외부 api 연동 시작(공공데이터포탈)
  • [HR-06] Docker 컨테이너화 및 MySQL 통합

About

코틀린 언어 사용하여 멀티모듈 구조로 hr 데이터베이스에 대한 api 구현 프로젝트

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors