-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
러너 본인 프로필 조회 기능 구현 #183
러너 본인 프로필 조회 기능 구현 #183
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다~
private final RunnerPostService runnerPostService; | ||
|
||
@GetMapping | ||
public ResponseEntity<RunnerMyProfileResponse> read(@AuthRunnerPrincipal final Runner runner) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
readXXX로 해주세요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨어요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생했어요:)
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링 * test: RestAssured 에 @transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]>
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링 * test: RestAssured 에 @transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 * submodule 업데이트 (#212) refactor: submodule 업데이트 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]>
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링 * test: RestAssured 에 @transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 * submodule 업데이트 (#212) refactor: submodule 업데이트 * Oauth RedirectUrl, Claim, 서브 모듈 변경 (#219) refactor: claim 수정 및 서브 모듈 변경 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]>
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링 * test: RestAssured 에 @transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 * submodule 업데이트 (#212) refactor: submodule 업데이트 * Oauth RedirectUrl, Claim, 서브 모듈 변경 (#219) refactor: claim 수정 및 서브 모듈 변경 * 전체 조회 쿼리 날짜 역순으로 정렬 (#227) fix: 전체 조회 쿼리 날짜 역순으로 정렬 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]>
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링 * test: RestAssured 에 @transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 * submodule 업데이트 (#212) refactor: submodule 업데이트 * Oauth RedirectUrl, Claim, 서브 모듈 변경 (#219) refactor: claim 수정 및 서브 모듈 변경 * 전체 조회 쿼리 날짜 역순으로 정렬 (#227) fix: 전체 조회 쿼리 날짜 역순으로 정렬 * 러너 게시글 상세 조회 시 조회수가 증가하도록 변경 (#230) refactor: 글 조회 시 조회수가 증가하지 않았던 문제 수정 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: jeonghoon <[email protected]> Co-authored-by: Jeonghoon Park <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]>
* refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경
* refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경
* refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경
* 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @Param 으로 표기하도록 리팩터링 * test: RestAssured 에 @Transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @Disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 프론트엔드 배포 작업 (#135) * webpack 초기 환경 설정 (#8) chore: 프로젝트 초기 환경 설정 * Layout 컴포넌트 구현 (#10) * assets: Pretendard 폰트 추가 * design: GlobalStyle 및 ResetStyle 적용 * feat: Header, Layout 컴포넌트 구현 * MSW 설정 (#17) * chore: 환경 변수 NODE_ENV 설정 * feat: msw 초기 설정 * Avartar, Tag, Button, Modal 컴포넌트 구현 (#20) * feat: Avatar 컴포넌트 구현 * feat: Button 컴포넌트 구현 * assets: close-icon-red svg 추가 * feat: Tag 컴포넌트 구현 * design: Button 디폴트 스타일 설정 * feat: Modal 컴포넌트 구현 * React Router 설정 (#23) * design: Layout background 제거 * feat: 페이지 라우팅 설정 * msw, tsconfig, Avatar 공통 변경사항 반영 (#27) * chore: json 파일을 import하기 위한 tsconfig 수정 * fix: msw dev에서만 작동하도록 수정 * design: Avatar 기본 사이즈 설정 * 러너 게시글 조회 페이지 구현 (#31) * feat: RunnerPostPage 구현 * assets: 채팅수, 조회수 아이콘 svg 추가 * feat: 러너 게시글 mock data 추가 * feat: RunnerPostPage api 요청 기능 추가 * refactor: PostTag 컴포넌트 분리 * 러너 게시물 생성 페이지 구현 (#33) * feat: InputBox 컴포넌트 구현 * feat: TagInput 컴포넌트 구현 * feat: Textarea 컴포넌트 구현 * feat: RunnerPostCreatePage 페이지 구현 * refactor: InputBox 컴포넌트 InputText Props 삭제 * refactor: props로state를 받도록 변경 * refactor: 입력 state관련 set 함수명 수정 --------- Co-authored-by: 상규 <[email protected]> * 메인 페이지 구현 (#34) * chore: json 파일을 import하기 위한 tsconfig 수정 * fix: msw dev에서만 작동하도록 수정 * design: Avatar 기본 사이즈 설정 * feat: MainPage 구현 * fix: map key 오류 수정 * feat: RunnerPost 타입 추가 * feat: 러너가 올린 게시물 조회 msw 구현 * refactor: RunnerPost 타입 지정 * feat: Tag 컴포넌트 렌더링 추가 * refactor: mock data 네이밍 통일 * 구현한 페이지 라우터 연결 (#42) * feat: 구현한 페이지 라우터 연결 및 hook 분리 Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * feat: 로고 클릭시 홈 이동 기능 추가 --------- Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * 러너 글 목록 조회 API 변경에 따른 MainPage 수정 (#55) * fix: api 명세 변경에 따른 러너 글 타입 수정 * feat: 러너 글 목록 조회 api 변경에 따른 MainPage 수정 * API 요청 Endpoint 변경 (#69) * fix: dev server 새로고침 오류 수정 * refactor: index.html 경로 src 외부 public 폴더로 이동 * feat: api 엔드포인트 변경 dev server에서만 msw 적용하도록 변경 * 절대 경로 재설정 (#71) chore: import 절대경로 path 재설정 * 불필요한 환경 변수 플러그인 제거 (#73) fix: build 오류 수정 웹팩 dev 환경변수 플러그인 제거 * Label 컴포넌트 구현 (#88) feat: Label 컴포넌트 구현 * 서포터 선택 결과 페이지 구현 (#90) feat: 서포터 선택 결과 페이지 구현 * 메인 페이지 및 상세 게시글 리뷰 상태 라벨 추가 (#91) * feat: mockData에 reviewStatus 추가 * feat: reviewStatus 타입 및 Label text 추가 * feat: 메인 페이지에 리뷰 상태 Label 추가 * feat: 러너 게시글 상세 페이지에 리뷰 상태 Label 추가 * 서포터 선택 시 확인 모달창 구현 (#92) feat: 서포터 선택 시 확인 모달창 구현 * 서포터 선택 페이지 구현 (#103) * feat: 서포터 선택페이지 라우팅 추가 * asset: github-icon svg파일 추가 * feat: 서포터 선택 페이지 msw 핸들러 추가 * feat: SupporterSelectPage 페이지 컴포넌트 추가 * feat: 서포터 선택 페이지 관련 타입 추가 * feat: SupporterSelectItem, List 컴포넌트 추가 * feat: ConfirmModal 컴포넌트 Props 추가 * feat: RunnerPostCreatePage 페이지 컴포넌트 api 기능 제거 * fix: supportSelect 타입 오류 수정 * fix: 저장 누락 반영 --------- Co-authored-by: 상규 <[email protected]> * CI를 위한 테스트 코드 작성 (#111) * chore: testing library react 및 jest 패키지 설정 * test: CI를 위한 컴포넌트 테스트코드 작성 * CI설정 with GitHub Actions (#113) * style: 팀 컨벤션에 맞게 프론트엔드 최상위 폴더명 변경 * chore: 프론트엔드 CI 설정 * ConfirmModal 컴포넌트 테스트코드 작성 (#116) * test: ConfirmModal 컴포넌트 테스트코드 작성 * fix: workflow -> workflows 수정 * fix: github action working directory 수정 * API 명세 변경에 따른 기능 추가 (#123) * fix: types 파일명 변경을 위한 파일 삭제 * feat: API 명세에 맞춰 타입 추가 및 mock data 변경 * feat: 러너 게시글 상세 페이지 삭제, 코드 보러가기 기능 추가 * style: 러너 상세 게시글 타입 이름 수정 * refactor: API 명세에 맞춘 타입을 import 하도록 변경 * 로그인 페이지 구현 (#124) * feat: 헤더에 로그인 버튼 클릭시 로그인 페이지로 이동하는 기능 추가 * feat: 로그인 페이지 컴포넌트 구현 * fix: asset경로 절대경로로 수정 --------- Co-authored-by: 상규 <[email protected]> * 서포터 선택 목록 -> 글 생성할 때 띄우는 기능 구현 (#128) * feat: InputBox font-size, font-weight props 추가 * feat: 서포터 리스트 mockData 추가 * feat: 서포터 선택 목록 페이지를 모달 컴포넌트로 변경 * design: Textarea border 수정 * fix: TagInput을 form태그 안에 넣을 경우 submit이 되는 오류 수정 * feat: 서포터 선택 목록 모달 기능 구현 * fix: cherry-pick conflict 해결 * fix: type 오류 수정 * feat: 프론트엔드 로컬에서 백엔드 서버 api 요청을 위한 proxy 포트 설정 * feat: api 명세 변경에 따른 컴포넌트 props 수정 * 서버 api 엔드포인트 변경 (#133) * feat: 변경된 api 명세에 따른 msw uri 수정 * feat: 배포 서버 base url 수정 * feat: 삭제 확인 모달창 구현 * test: 확인 모달창 변경에 따른 테스트코드 작성 * 사용하지 않는 기능 숨기기 (#137) * design: Layout margin-bottom 추가 * design: 리뷰 진행중 라벨 디자인 추가 * feat: 준비중인 기능 알림 메시지 추가 * feat: 사용하지 않는 기능 주석 처리 --------- Co-authored-by: KangSan Lee <[email protected]> Co-authored-by: 남상규 <[email protected]> Co-authored-by: 상규 <[email protected]> Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 프론트엔드 배포 작업 (#155) * webpack 초기 환경 설정 (#8) chore: 프로젝트 초기 환경 설정 * Layout 컴포넌트 구현 (#10) * assets: Pretendard 폰트 추가 * design: GlobalStyle 및 ResetStyle 적용 * feat: Header, Layout 컴포넌트 구현 * MSW 설정 (#17) * chore: 환경 변수 NODE_ENV 설정 * feat: msw 초기 설정 * Avartar, Tag, Button, Modal 컴포넌트 구현 (#20) * feat: Avatar 컴포넌트 구현 * feat: Button 컴포넌트 구현 * assets: close-icon-red svg 추가 * feat: Tag 컴포넌트 구현 * design: Button 디폴트 스타일 설정 * feat: Modal 컴포넌트 구현 * React Router 설정 (#23) * design: Layout background 제거 * feat: 페이지 라우팅 설정 * msw, tsconfig, Avatar 공통 변경사항 반영 (#27) * chore: json 파일을 import하기 위한 tsconfig 수정 * fix: msw dev에서만 작동하도록 수정 * design: Avatar 기본 사이즈 설정 * 러너 게시글 조회 페이지 구현 (#31) * feat: RunnerPostPage 구현 * assets: 채팅수, 조회수 아이콘 svg 추가 * feat: 러너 게시글 mock data 추가 * feat: RunnerPostPage api 요청 기능 추가 * refactor: PostTag 컴포넌트 분리 * 러너 게시물 생성 페이지 구현 (#33) * feat: InputBox 컴포넌트 구현 * feat: TagInput 컴포넌트 구현 * feat: Textarea 컴포넌트 구현 * feat: RunnerPostCreatePage 페이지 구현 * refactor: InputBox 컴포넌트 InputText Props 삭제 * refactor: props로state를 받도록 변경 * refactor: 입력 state관련 set 함수명 수정 --------- Co-authored-by: 상규 <[email protected]> * 메인 페이지 구현 (#34) * chore: json 파일을 import하기 위한 tsconfig 수정 * fix: msw dev에서만 작동하도록 수정 * design: Avatar 기본 사이즈 설정 * feat: MainPage 구현 * fix: map key 오류 수정 * feat: RunnerPost 타입 추가 * feat: 러너가 올린 게시물 조회 msw 구현 * refactor: RunnerPost 타입 지정 * feat: Tag 컴포넌트 렌더링 추가 * refactor: mock data 네이밍 통일 * 구현한 페이지 라우터 연결 (#42) * feat: 구현한 페이지 라우터 연결 및 hook 분리 Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * feat: 로고 클릭시 홈 이동 기능 추가 --------- Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * 러너 글 목록 조회 API 변경에 따른 MainPage 수정 (#55) * fix: api 명세 변경에 따른 러너 글 타입 수정 * feat: 러너 글 목록 조회 api 변경에 따른 MainPage 수정 * API 요청 Endpoint 변경 (#69) * fix: dev server 새로고침 오류 수정 * refactor: index.html 경로 src 외부 public 폴더로 이동 * feat: api 엔드포인트 변경 dev server에서만 msw 적용하도록 변경 * 절대 경로 재설정 (#71) chore: import 절대경로 path 재설정 * 불필요한 환경 변수 플러그인 제거 (#73) fix: build 오류 수정 웹팩 dev 환경변수 플러그인 제거 * Label 컴포넌트 구현 (#88) feat: Label 컴포넌트 구현 * 서포터 선택 결과 페이지 구현 (#90) feat: 서포터 선택 결과 페이지 구현 * 메인 페이지 및 상세 게시글 리뷰 상태 라벨 추가 (#91) * feat: mockData에 reviewStatus 추가 * feat: reviewStatus 타입 및 Label text 추가 * feat: 메인 페이지에 리뷰 상태 Label 추가 * feat: 러너 게시글 상세 페이지에 리뷰 상태 Label 추가 * 서포터 선택 시 확인 모달창 구현 (#92) feat: 서포터 선택 시 확인 모달창 구현 * 서포터 선택 페이지 구현 (#103) * feat: 서포터 선택페이지 라우팅 추가 * asset: github-icon svg파일 추가 * feat: 서포터 선택 페이지 msw 핸들러 추가 * feat: SupporterSelectPage 페이지 컴포넌트 추가 * feat: 서포터 선택 페이지 관련 타입 추가 * feat: SupporterSelectItem, List 컴포넌트 추가 * feat: ConfirmModal 컴포넌트 Props 추가 * feat: RunnerPostCreatePage 페이지 컴포넌트 api 기능 제거 * fix: supportSelect 타입 오류 수정 * fix: 저장 누락 반영 --------- Co-authored-by: 상규 <[email protected]> * CI를 위한 테스트 코드 작성 (#111) * chore: testing library react 및 jest 패키지 설정 * test: CI를 위한 컴포넌트 테스트코드 작성 * CI설정 with GitHub Actions (#113) * style: 팀 컨벤션에 맞게 프론트엔드 최상위 폴더명 변경 * chore: 프론트엔드 CI 설정 * ConfirmModal 컴포넌트 테스트코드 작성 (#116) * test: ConfirmModal 컴포넌트 테스트코드 작성 * fix: workflow -> workflows 수정 * fix: github action working directory 수정 * API 명세 변경에 따른 기능 추가 (#123) * fix: types 파일명 변경을 위한 파일 삭제 * feat: API 명세에 맞춰 타입 추가 및 mock data 변경 * feat: 러너 게시글 상세 페이지 삭제, 코드 보러가기 기능 추가 * style: 러너 상세 게시글 타입 이름 수정 * refactor: API 명세에 맞춘 타입을 import 하도록 변경 * 로그인 페이지 구현 (#124) * feat: 헤더에 로그인 버튼 클릭시 로그인 페이지로 이동하는 기능 추가 * feat: 로그인 페이지 컴포넌트 구현 * fix: asset경로 절대경로로 수정 --------- Co-authored-by: 상규 <[email protected]> * 서포터 선택 목록 -> 글 생성할 때 띄우는 기능 구현 (#128) * feat: InputBox font-size, font-weight props 추가 * feat: 서포터 리스트 mockData 추가 * feat: 서포터 선택 목록 페이지를 모달 컴포넌트로 변경 * design: Textarea border 수정 * fix: TagInput을 form태그 안에 넣을 경우 submit이 되는 오류 수정 * feat: 서포터 선택 목록 모달 기능 구현 * fix: cherry-pick conflict 해결 * fix: type 오류 수정 * feat: 프론트엔드 로컬에서 백엔드 서버 api 요청을 위한 proxy 포트 설정 * feat: api 명세 변경에 따른 컴포넌트 props 수정 * 서버 api 엔드포인트 변경 (#133) * feat: 변경된 api 명세에 따른 msw uri 수정 * feat: 배포 서버 base url 수정 * feat: 삭제 확인 모달창 구현 * test: 확인 모달창 변경에 따른 테스트코드 작성 * 사용하지 않는 기능 숨기기 (#137) * design: Layout margin-bottom 추가 * design: 리뷰 진행중 라벨 디자인 추가 * feat: 준비중인 기능 알림 메시지 추가 * feat: 사용하지 않는 기능 주석 처리 * webpack prod publicPath 재설정 (#153) * fix: 이미지 경로 및 새로고침 오류 수정 index.html base 태그 설정 * fix: base 태그 사용 대신 webpack publicPath 변경 상대경로를 사용하지 않도록 변경 --------- Co-authored-by: KangSan Lee <[email protected]> Co-authored-by: 남상규 <[email protected]> Co-authored-by: 상규 <[email protected]> Co-authored-by: 에이든 <[email protected]> Co-authored-by: 남상규 <[email protected]> * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * 백엔드 배포 작업 (#159) * 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @Param 으로 표기하도록 리팩터링 * test: RestAssured 에 @Transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @Disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]> * cd 파일 재설정 (#160) fix: cd 파일 재설정 * 백엔드 배포 작업 (#161) * 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @Param 으로 표기하도록 리팩터링 * test: RestAssured 에 @Transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @Disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErrorCode 내용 추가 * refactor: record로 생긴 변화 적용 * feat: NotNullValid 어노테이션 추가 * refactor: ErrorResponse 에 getter 추가 * feat: Controller valid 추가 * feat: ValidFuture 어노테이션 추가 * feat: 어노테이션 이름 변경 * feat: Max validator 추가 * feat: request dto에 validation 적용 * refactor: 어노테이션 target 조정 * refactor: tag 값이 없을 때 Bad Request 보내도록 수정 * CORS 설정 및 Profile을 RunnerProfile로 변경 (#120) * feat: cors 설정 * refactor: MemberProfile 을 RunnerProfile 로 수정 * feat: cors HttpMethod 에 PATCH 추가 * 환경 변수 보호를 위한 서브 모듈 연결 (#125) * feat: 서브 모듈 추가 * feat: 서브 모듈 환경 설정 * fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경 * refactor: Dockerfile 경로 변경 * refactor: 실험을 위해 공백 푸시 * refactor: 실험을 성공 후 공백 다시 추가 * refactor: CD 브랜치 dev/BE로 변경 * refactor: CI/CD 파일명 변경 * String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127) * feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 * refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경 * feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정 * refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경 * test: StringDateToLocalDateTime 테스트 방식 변경 * test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경 * test: StringDateToLocalDateTimeConverter 실패 테스트 추가 * feat: DateTimeConverter desiralizer 구현 * test: ConverterConfigTest 실패 테스트 수정 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * 백엔드 프로덕션 컨테이너 세팅 (#132) * chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가 * chore: ci/cd deploy 환경 분리 * Merge pull request #130 * test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가 * secret 파일 pull (#139) fix: secret 파일 pull * secret 파일 pull (#141) fix: secret 파일 pull * secret 파일 pull (#142) fix: secret 파일 pull * dev 환경에 방언 추가 (#143) * fix: secret 파일 pull * refactor: secret 변경 * dev에 prod db 적용해보기 (#144) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * cicd 파일 및 환경 변수 원상복구 (#145) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * secret 변경 (#146) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * 도커 secret 수정 (#147) * fix: secret 파일 pull * refactor: secret 변경 * fix: cicd 스크립트에 prod db 적용 * refactor: secret, cicd 원상복귀 * refactor: secret 수정 * refactor: secret 수정 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148) * feat: 러너 게시글 조회수 증가 기능 구현 * 서포터 기술 태그 table 추가 (#151) * feat: TechnicalTag entity 생성 * feat: SupporterTechnicalTag entity 생성 * fix: 터지는 테스트 수정 * feat: 러너 게시글 조회수 증가 기능 구현 --------- Co-authored-by: Jeonghoon Park <[email protected]> * docker network 설정 (#156) fix: docker network 설정 * fix: docker network 설정 (#158) * cd 파일 재설정 (#160) fix: cd 파일 재설정 --------- Co-authored-by: HyunSeo Park (Hyena) <[email protected]> Co-authored-by: Ethan <[email protected]> Co-authored-by: 은비 <[email protected]> Co-authored-by: eunbii0213 <[email protected]> * 프론트엔드 코드 삭제 (#167) fix: 프론트엔드 코드 삭제 * 서포터 전체 조회 기술 태그 목록 추가 version-test (#162) * feat: 서포터 전체 조회 기술 태그 목록 추가 version-test * fix: 서포터 태그 목록 List 로 변환 * test: supporterTechnicalTags 조회 테스트 수정 * test: supporterTechnicalTags 조회 테스트 assertAll 사용 * CORS 환경별로 allowed origin 변경 (#169) * feat: submodule 업데이트 * feat: gitignore 에 application.yml 추가 * feat: application.yml 중요 환경 변수 숨기기 * 테스트 코드 Fixture 통일 (#172) * test: assure 패키지의 MemberFixture 삭제 * test: assure 패키지의 RunnerFixture 삭제 * test: assure 패키지의 RunnerPostFixture 삭제 * test: domain 에 있는 RunnerFixture 삭제 * test: domain 에 있는 RunnerPostData 삭제 * test: RunnerRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * test: TagRepositoryTest 가 RepositoryTestConfig 를 상속 받도록 변경 * domain exception이 server exception을 상속받도록 수정 (#177) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * Github Social Login 4차 구현 (#164) * chore: HttpInterface 사용을 위한 의존성 추가 * feat: 소셜 타입 구분을 위한 OauthType 추가 * feat: AuthCode 를 받아오기 위한 인터페이스와 확장성을 고려한 컴포시트 패턴 추가 * feat: Oauth 정보를 받아올 인터페이스와 확장성을 위한 컴포시트 패턴 구현 * feat: 외부 변수를 받아올 GithubOauthConfig 구현 및 최상단 애플리케이션에 읽어올 수 있도록 스캔 어노테이션 적용 * feat: Github Oauth 요청을 위한 구현체 및 스프링 컨테이너에 빈 등록을 위한 HttpInterfaceConfig 설정 구현 * feat: Oauth 로그인을 받을 컨트롤러와 저장 및 조회를 위한 Oauth 레포지터리, Oauth 서비스 구현 * chore: gradle 에 auth0 jwt 의존성 추가 * feat: AccessToken dto 구현 추가 및 OauthInformation 내부 회사 정보 삭제 * feat: OauthType enum 컨버터 구현 * feat: Jwt 인코더, Jwt 디코더 구현 * feat: Oauth 전용 Runner, Supporter 레포지터리 구현 * feat: Runner, Supporter Principal 어노테이션 및 Runner, Supporter ArgumentResolver 구현 * feat: Oauth 서비스 Jwt 인코드 기능 및 Member, Runner, Supporter 신규 사용자 자동 회원가입 추가, Oauth 컨트롤러 Jwt 헤더 반환 구현 * test: WebMvcTest 시 bean 스캔 문제 해결을 위한 커스텀 MockMvcTest 어노테이션 구현 및 RestdocsConfig 수정 * test: Oauth Api 테스트 및 기존 Api Test 를 MockMvcTest 로 수정 * refactor: auth0 의존성을 삭제하고 jjwt 추가 후 HS256 를 이용하도록 JWT 설정 변경 * refactor: AccessToken JWT 내부 Claim 에서 삭제 * refactor: oauth 패키지 이동 * refactor: JWT 디코더 내부 검증 변경 * refactor: Oauth 사용자 정의 예외로 변경 * chore: 서브 모듈 최신화 * fix: 외부 환경 변수 자바 객체 주입을 문자열로 수정 * refactor: cors origin 외부 환경 변수 주입하도록 변경 * refactor: JWT Signature 클라이언트 요청 예외 에러 코드 변경 * refactor: Oauth Email 에러 코드 JWT 로 변경 * feat: Jwt 디코더 에러 코드 추가 * style: 문자열 상수화 및 메서드 파라미터 컨벤션 적용 * dev 환경 변수 수정 (#188) fix: 환경 변수 수정 * refactor: AccessToken 명 SocialToken 으로 변경 및 Auth 관련 패키지 분리 --------- Co-authored-by: Jeonghoon Park <[email protected]> * Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 (#193) * fix: Oauth API prefix 수정 및 깃허브 소셜 로그인 Http Method 수정 * test: Oauth Api Test prefix 수정 * 서포터 피드백 등록 API 구현 (#186) * feat: Description VO 구현 * feat: SupporterFeedback 엔티티 구현 * chore: Feedback 관련 패키지 변경 * refactor: SupporterFeedback Entity 에 nullable 추가 * feat: Runner 에 equals&hashcode 추가 * feat: SupporterFeedback 등록 API 구현 * refactor: FeedbackBusinessException 내부 클래스 삭제 * test: 안 쓰는 인스턴스 변수 로컬 변수로 변경 * test: SupporterFeedback 관련 Fixture 구현 * test: RestAssuredTest 컨벤션에 맞게 변경 * refactor: FeedbackService 에 Transaction 추가 * refactor: FeedbackService Runner 찾는 과정 삭제 * refactor: 로그인 기능 추가에 따른 @AuthRunner 사용하도록 변경 * refactor: RunnerPost 와 SupporterFeedback 과의 관계를 OneToOne 으로 변경 * 모든 도메인 객체 exception Notnull method 제거 (#184) * refactor: domain exception을 server exception을 상속받도록 수정 * refactor: 사용하지 않는 MemberException 제거 * refactor: 모든 도메인 객체 exception Notnull method 제거 * refactor: stream 컨벤션에 맞도록 수정 * refactor: conflict 해결 * test: 에러메세지 수정 * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag) * refactor: TagException 상세히 분할(RunnerPostTag, SupporterTechnicalTag)에 따른 테스트 수정 * refactor: stream 점 위치 수정 * 러너 본인 프로필 조회 기능 구현 (#183) * refactor: runner response 는 runner 패키지로 이동 * feat: runner 프로필 조회 response 생성 * refactor: 바뀐 response 패키지 적용 * test: IntroductionFixture 추가 * test: 인수테스트 추가 * test: 중복된 테스트 제거 * feat: runner 식별자로 runnerPost 조회 쿼리 생성 * feat: runner 식별자로 runnerPost 조회 서비스 로직 구현 * feat: runner 본인 프로필 조회 기능 구현 * refactor: auth 적용 * refactor: restdocs 관련 테스트 주석 처리 * test: runner fixture 에 introduction 추가 * refactor: controller 메소드 이름 변경 * Member Email 값 객체를 SocialId 값 객체로 변경 (#196) * refactor: Member Email 값 객체를 SocialId 로 변경 * refactor: Member 의 SocialId 컬럼명 수정 * 모든 API 인증 기능 추가 (#202) * refactor: FeedbackController 에 사용하지 않는 변수 삭제 * refactor: runnerPost auth 어노테이션 붙이기 * refactor: 게시물 상세 조회 시 auth 선택적으로 적용하도록 변경 * refactor: 게시물 수정, 삭제 시에 Auth 어노테이션 추가 * refactor: 서포터 전체 조회 반환 필드 변경 * test: 변경 사항에 따른 테스트 코드 변경 * 클라이언트 에러 HttpStatus 수정 (#206) refactor: 클라이언트 에러 HttpStatus 수정 * 게시글 최신순으로 정렬 (#207) * feat: 생성 순으로 게시글 불러오는 쿼리 생성 * feat: 게시글 생성 순으로 정렬 * refactor: yml 업데이트 * 백엔드 배포 작업 (#209) * 깃허브 액션 CI 워크플로 작성 (#6) feat: 깃허브 액션 CI 워크플로 작성 * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * docs: CI 스크립트 수정 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정 * docs: CI 오류 확인 * docs: CI gradlew 경로로 이동 * docs: CI 경로 한 run에 설정 * docs: CI 성공 * 스프링 기본 구조 설계 (#18) * feat: 프로젝트 생성 및 의존성 추가 * chore: logging 설정 * feat: Member Entity 생성 * refactor: Member 패키지 변경 * feat: Runner Entity 생성 * refactor: 모든 entity 에서 embeddedId 제거 * feat: Company null 예외 검증 구현 * feat: Email null 예외 검증 구현 * feat: GithubUrl null 예외 검증 구현 * feat: Name null 예외 검증 구현 * feat: OauthId null 예외 검증 구현 * feat: Member null 예외 검증 구현 * refactor: Grade 패키지 위치 변경 * refactor: TotalRating 매직 넘버 설정 * feat: Supporter 의 VO 객체 생성 * feat: Supporter 생성 기능 구현 * feat: Runner null 예외 검증 구현 * refactor: Runner, Supporter 외래키 nullable = false 로 설정 * feat: Title VO 구현 * feat: Contents VO 구현 * feat: PullRequestUrl VO 구현 * refactor: Contents 타입 varchar 에서 text로 변경 * feat: Deadline VO 구현 * feat: WatchedCount VO 구현 * feat: ChattingRoomCount VO 구현 * fix: 예외 메시지 분리 * style: 클래스 명과 변수 사이 개행 * feat: RunnerPost entity 생성 * refactor: Member 이름 변수명 변경 * feat: TagName VO 구현 * feat: TagCount VO 구현 * feat: Tag entity 생성 * feat: RunnerPostTag entity 생성 * feat: BaseEntity 적용 * feat: Entity JPA repository 구현 * feat: Cascade persist 옵션과 orphanRemoval 옵션 추가 * feat: RunnerPost Controller 및 Service 뼈대 코드 작성 * test: RunnerPostTag 테스트 수정 * refactor: gradle 빌드 파일 삭제 * refactor: gradle 빌드 파일 재생성 * refactor: gradle 빌드 파일 재생성 * feat: request dto 생성 * feat: service 레이어 구현 * style: 주석 추가 * feat: Controller 레이어 구현 * refactor: update 한 후에 id 받아오도록 수정 * test: update 성공 테스트 작성 * refactor: Tag 에서 BaseEntity 제거 * feat: Tag 개수 증가 및 감소, 비교 로직 추가 * test: 테스트 displayName 변경 * feat: 초기 tag 생성 기능 구현 * feat: 필드 update 기능 구현 * feat: request dto 에 LocalDateTime getter 생성 * feat: tag 이름으로 tag 조회 기능 구현 * feat: id 로 RunnerPostTag 목록 조회 기능 구현 * feat: 러너 게시글 수정 service 구현 * refactor: dto 이름 변경 * refactor: equalsAndHashCode 적용 * test: service 테스트 작성 * Revert "러너 게시글 수정 API 구현" (#36) * 러너 게시글 등록 API 구현 (#30) * feat: RunnerPost VO에 Equals&Hashcode 추가 * feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가 * feat: TagName name 컬럼 unique 제약 조건 추가 * feat: Tag 기본 생성 기능 및 count 증가 기능 추가 * feat: RunnerPostTag 추가 기능 구현 * refactor: RunnerPostTag create 메서드 삭제 * feat: WatchedCount 기본 생성 기능 구현 * feat: ChattingRoomCount 기본 생성 기능 구현 * feat: RunnerPost 기본 생성 기능 구현 * feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현 * feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현 * refactor: TagCount method 이름 변경 * feat: RunnerPost 생성 API 구현 * feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현 * style: RunnerPostService 줄바꿈 제거 * fix: Join fetch 조건 오류 해결 * feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경 * refactor: create 메서드 명을 createRunnerPost 로 변경 * style: 공백 정리 * refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경 * refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정 * refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경 * refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경 * 러너 게시글 상세 조회 및 삭제 API 구현 (#28) * feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현 * feat: RunnerPost 상세 조회 및 삭제 기능 추가 * feat: Tag 레포지터리에 TagCount 감소 기능 구현 * feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현 * feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현 * feat: Member 에 ImageUrl 필드 추가 * feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현 * test: ImageUrl null 예외 검증 테스트 구현 * test: DisplayName 내용 수정 * fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정 * refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링 * test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리 * refactor: JPQL 에 사용할 변수명을 @Param 으로 표기하도록 리팩터링 * test: RestAssured 에 @Transactional 제거 * test: RestAssured 응답 객체 변환 기능 수정 * test: 인수테스트 @Disable * fix: RunnerPost 의 deadline 응답 반환 타입 수정 * test: Non Ascii 어노테이션 추가 * refactor: RunnerPostResponse Single 레코드명 리팩터링 * refactor: 레포지터리 Tag 조인 메서드명 리팩터링 * test: 사용하지 않는 인자 삭제 * 러너 게시글 수정 API 구현 (#41) * refactor: id -> runnerPostId 변경 * refactor: UriComponentsBuilder 적용 * refactor: String -> LocalDateTime 으로 변경 * test: 변수에 final 키워드 적용 * refactor: service 에 final 키워드 적용 * refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경 * refactor: tag 관련 네이밍 변경 * style: 개행 닫기 * refactor: tagCount 수정 * refactor: import 적용 * refactor: 변수명 변경 * refactor: 어노테이션 위치 조정 * refactor: Tag 는 TimeStamp 저장 안하도록 설정 * refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정 * refactor: 메소드명 변경 * test: display name 변경 * refactor: TagCount init 시에 parseInt 하는 방식으로 변경 * 러너 게시글 조회 API 구현 (#32) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 --------- Co-authored-by: jeonghoon <[email protected]> * 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47) * feat: 리뷰 요청 글 도메인 구현 * feat: 리뷰 요청 글 컨트롤러 구현 * feat: 리뷰 요청 글 레포지토리 구현 * feat: 리뷰 요청 글 서비스 구현 * feat: VO equals and hashcode 재정의 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * fix: 충돌 해결 * fix: 리뷰 요청 글 전체 조회 API path 수정 * fix: Tag 이름 조회 수정 * fix: API 수정에 따른 테스트 코드 수정 * sytle: 사용하지 않는 () 삭제 --------- Co-authored-by: jeonghoon <[email protected]> * 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48) * chore: docker 외부 포트 고정 * fix: 중복되어서 저장이 안되는 문제 수정 * 러너 게시글 태그 중복 조회 오류 해결 (#51) fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제 * 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62) * feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정 * feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현 * feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현 * feat: 베이스 에러 응답 객체 구현 * fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제 * test: 러너 게시글 마감일 검증 테스트 수정 * feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현 * 러너 게시글 조회 객체 이름 수정 (#63) * feat: 리뷰 요청 글 도메인 구현 * test: 리뷰 요청글 작성 테스트 작성 * feat: imageUrl 생성 * refactor: 리뷰 반영 * refactor: 모든 리뷰 요청 글 조회외에 모두 삭제 * refactor: 명세에 맞게 변수명 수정 * 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74) * refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정 * feat: RunnerPost 에 ReviewStatus 추가 * test: MemberFixture 구현 * test: RunnerFixture 구현 * test: SupporterFixture 구현 * test: TagFixture 구현 * test: Fixture 추상클래스로 변경 * test: Fixture 정적 팩토리 메서드 파라미터 이름 변경 * test: Fixture 검증 * RunnerPostTag에 FK 제약 조건 이름 수정 (#66) * feat: RunnerPostTag에 fk 제약조건 이름 변경 * refactor: RunnerPost fk 제약 조건 이름 변경 * refactor: Runner fk 제약 조건 이름 변경 * refactor: Supporter fk 제약 조건 이름 변경 * refactor: RunnerPostTag fk 제약 조건 이름 변경 * 나누어져있는 RunnerPostResponse 통합 (#78) * refactor: dto 통합 * refactor: Profile dto 통합 * 서포터 목록 조회 API 구현 version-test (#93) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * 서포터 목록 조회 API 에서 별점 제거 (#96) * feat: Runner 와 Supporter 에 introduction 칼럼 추가 * feat: SupporterService 구현 * feat: Supporter Response 구현 * feat: 서포터 전체 조회 controller 구현 * feat: 서포터 전체 조회 Response 에 회사 추가 구현 * fix: supporter response 에 별점 제거 * fix: supporter response 에 별점 제거 * 러너 리뷰 요청 게시글 생성 version-test (#94) * feat: RunnerPostService 에서 testversion 저장하는 기능 구현 * feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현 * refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경 * test: 테스트에 SupporterRepository 의존성 추가 * refactor: RunnerPost 변수에 final 키워드 추가 * refactor: CreateReqeustDto 에 timezone 추가 * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104) * feat: 러너 게시글 조회 API 구현 version-test * style: 주석 제거 * refactor: ProfileResponse에 isOwner 삭제 * refactor: RunnerPostResponse에 isOwner 추가 * test: Response 변경에 따른 테스트 수정 * refactor:isOwner VO 추가 * refactor: 유지보수를 위해 true를 기본값으로 설정 * refactor: ProfileResponse 수정에 의한 변경 * Docker Hub와 GitHub self hosted runner를 이용한 CD 설정 (#106) * docs: Docker 를 이용한 CD 설정 * docs: CD 타겟 브랜치 수정 * 러너 게시글 상세 조회 API 구현 version-test (#109) * Test Fixture 파라미터 타입 수정 (#110) * test: Domain Fixture 메서드 파라미터 타입 수정 * test: 테스트 Fixture 사용 수정 * test: Runner Test Fixture 수정 * 클라이언트 예외를 위한 Validator 추가 (#117) * refactor: ClientRequestException 일반 클래스로 변경 * refactor: ErrorResponse 에서 httpStatus 제거 * refactor: RunnerPostUpdateRequest record로 변경 * refactor: ClientErro…
관련이슈
참고사항
주석 처리는 로그인 구현되면 하겠습니다!