Skip to content

1차 리포트 전 Dev -> Main #63

Closed
meraki6512 wants to merge 131 commits into
mainfrom
dev
Closed

1차 리포트 전 Dev -> Main #63
meraki6512 wants to merge 131 commits into
mainfrom
dev

Conversation

@meraki6512
Copy link
Copy Markdown
Contributor

연관된 이슈


작업 내용

1차 리포트 전 dev 브랜치 작업 내역을 main 브랜치에 반영합니다.

PR 유형

어떤 변경 사항이 있나요?

  • 새로운 기능 추가
  • 버그 수정
  • CSS 등 사용자 UI 디자인 변경
  • 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 테스트 추가, 테스트 리팩토링
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다.

project36bys and others added 30 commits August 26, 2025 10:06
…rties-from-git

Chore/4 remove application properties from git (#4)
- PATCH /issues/{id}/status 엔드포인트 추가
- IssueService에 상태 변경 메서드 구현 및 상태 유효성 검증 적용
- 상태 값이 OPEN 또는 CLOSED가 아닐 경우 ValidationException 발생 처리
- NotFoundException 및 ValidationException에 대한 글로벌 예외 처리 핸들러 추가
- ApiResponse, ErrorResponse 공통 응답 포맷 적용
- 서비스 레벨 상태 변경 정상/예외 케이스 테스트 구현
- 컨트롤러 상태 변경 REST API 테스트 추가
- 정상 상태 변경, 유효하지 않은 상태, 존재하지 않는 이슈에 대한 테스트 포함
- API 응답 및 예외처리 흐름 검증
…eature/1-comment-api

# Conflicts:
#	.gitignore
- 상태(status), 작성자(authorId), 라벨(labelIds) 등 동적 필터링 조건 적용한 IssueService 메서드 추가
- 검증된 IssueFilterRequest 파라미터를 받는 GET /issues REST API 컨트롤러 구현
- 페이징 처리된 IssueResponse를 공통 응답 포맷(ApiResponse)으로 감싸 반환
- 필터링 구현으로 수정된 엔티티에 따라 기존 테스트 코드 일부 수정
[#18] chore: application.properties 추적 제거 및 .gitignore 수정
- 단위(페이징 및 정렬 기능) 테스트 코드 추가 및 검증
- 통합 테스트 환경 구성 및 연관 테스트 코드 추가 및 검증
- Flyway 비활성화로 테스트 DB 스키마 문제 해결
- 보안 설정(@WithMockUser) 적용
Chore/21 api docs & 22 fix build env
- build.gradle 파일에서 의존성 충돌 문제 해결 및 버전 업데이트
- SecurityConfig.java에서 시큐리티 필터 체인 및 비밀번호 인코더 설정 변경
- TestcontainersConfiguration.java 테스트 환경 설정 일부 조정
- .java-version, logs/ 디렉터리 .gitignore에 추가 (커밋 제외)
- API 문서 자동화 및 Spring Security 안정화 작업 준비 (초기 설정 완료)
- 프로젝트의 지속적 통합(CI) 자동화를 위한 GitHub Actions 워크플로우 파일(.github/workflows/ci.yml)을 추가
- 1) dev 브랜치에 push 및 PR 발생 시 빌드와 테스트가 자동으로 실행되도록 설정
- 2) JDK 17 환경 설치 및 Gradle Wrapper로 안정적 빌드 환경 구성
- 3) 실행 권한 문제 방지를 위해 gradlew 파일에 권한 부여 단계 포함
- -> 빌드 자동화를 통한 개발 안정성 확보와 향후 CD 도입을 위한 기반 작업
meraki6512 and others added 29 commits September 1, 2025 15:35
- IssueController, UpdateIssueRequest, IssueService 수정
- 프론트엔드와의 연동 테스트 중 발견된 Issue patch 요청 처리 문제 해결
[#45] fix: patch API 관련 버그 수정 및 서비스 로직 개선
- IssueController, UpdateIssueRequest, IssueService 수정
- 프론트엔드와의 연동 테스트 중 발견된 Issue patch 요청 처리 문제 해결
feature/47 JWT authentication/ 
CI 빌드 실패. 로컬에서는 잘 구동되서 일단  머지 시행.
JWT 토큰 기반의 사용자 인증을 실제 API 로직에 적용하고, 이에 맞춰 컨트롤러 테스트 코드를 전면 리팩토링함.

[주요 변경 사항 - 애플리케이션 코드]
- IssueController, CommentController 등에서 하드코딩된 사용자 ID(1L)를 제거함.
- @AuthenticationPrincipal을 사용하여 현재 인증된 사용자의 정보를 가져오도록 수정.
- 컨트롤러에서 UserRepository/UserService를 통해 실제 User 엔티티를 조회하여 사용하도록 변경.

[주요 변경 사항 - 테스트 코드]
- 모든 컨트롤러 슬라이스 테스트(@WebMvcTest)에 Spring Security 필터를 활성화.
- @WithMockUser를 사용하여 테스트 전역에 Mock 인증 유저를 설정.
- 상태 변경(POST, PATCH, DELETE) 요청 테스트에 .with(csrf())를 추가하여 CSRF 검증을 통과하도록 수정.
- Mock 객체 의존성 문제를 해결하고, 실제 인증 로직에 맞게 Mockito stubbing 로직을 수정.
[#54, #45] feat: API 전반에 JWT 기반 사용자 인증 적용
- `.github/workflows/ci-docker.yml` 워크플로우 파일 수정
- 워크플로우 단계: Checkout -> Docker Login -> Build & Push
- Docker Hub 인증을 위해 GitHub Secrets (`DOCKERHUB_USERNAME`, `DOCKERHUB_TOKEN`) 사용
- 로컬 CI 검증 도구 `act`를 통해 파이프라인 실행 및 정상 동작 확인
@meraki6512 meraki6512 closed this Sep 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants