Commit 64bbbab
[Feature] - 프로덕션 API v1.4.0 배포 (#659)
* [Feature] - graceful shutdown 설정 추가 #615
* [Feature] - BE 테스트 개선 1단계 Test Fixture 운용 방식 통일 (Enum Fixture) (#614)
* test: OauthUserFixture - Enum 기반의 Fixture로 전환
* test: MemberFixture - EnumFixture 컨벤션 통일 개선
* test: MemberFixture 속성을 가지는 Member를 만드는 Request 객체 생성하는 기능 추가
* test: MemberFixture 속성을 기반으로 Request 객체를 만들도록 테스트 코드 수정
* test: OauthUserFixture의 팩토리 메서드 이름 수정 (createXXX -> getXXX)
* test: MemberFixture의 팩토리 메서드 이름 수정 (createXXX -> getXXX)
* test: 사용되지 않는 Fixture 클래스 제거 개선
* test: Travelogue관련 Enum Fixture 컨벤션 통일 개
* test: TravelogueCountry, TravelogueDay 도메인 테스트 중복 데이터 셋팅 제거 개선
* test: Request 객체 생성 도메인 Fixture 내부로 응집
* test: 도메인 구성 시 연관관계를 직접 주입하도록 테스트 코드 수정
* test: CountryCode 패키지 위치 수정
* test: TraveloguePhotoTest 연관관계 도메인 주입을 셋업 코드로 이동 개선
* test: Fixture를 통한 도메인 생성 시 연관관계를 주입하도록 로직 수정
* test: 사용하지 않는 상수 제거 개선
* test: 반복되는 메서드 모킹 setUp으로 이동
* test: 반복되는 메서드 모킹 setUp으로 이동
* test: 연관 관계를 가지는 Fixture를 주입받아 Request객체를 생성하는 기능 추가
* test: TravelogueRequestBuilder 구현
* test: TravelogueRequestBuilder에서 DayBuilder 체크로직 제거
* test: 실패하는 테스트 수정
* test: RequestBuilder 객체 패키지 이동 fixture -> helper
* test: TravelPlan관련 fixture에 연관 도메인 관련 내용 제거
* test: TravelPlaceTodoFixture 구현
* test: Fixture를 통해서 Request 객체 만드는 기능 구현
* test: TravelPLanRequestBuilder 구현
* test: 과거 날짜 여행기 픽스쳐 추가
* test: Builder 클래스 개행 수정
* test: TravelPlanControllerTest에서 Request를 생성 시 RequestBuilder를 이용하도록 개선
* test: 사용하지 않는 테스트 상수 제거 개선
* test: TravelogueCountryTest 줄바꿈 컨벤션 적용
* test: TraveloguePlaceFixture 줄바꿈 컨벤션 적용 및 사용하지 않는 메서드 제거 개선
* test: TravelogueRequestBuilder와 TravelogueDayRequestBuilder 별도 클래스로 분리
* test: TravelPlanRequestBuilder와 PlanDayRequestBuilder 별도 클래스로 분리
* test: MemberFixture 이름 변경 DEFAULT_MEMBER -> TOUROOT_LOCAL_USER
* [Feature] - 멤버 닉네임 중복을 허용 (#618)
* feat: 멤버 닉네임 중복 검증 로직 제거
* test: 중복 닉네임 멤버 생성 테스트 제거
* [Feature] - 프로덕션 모니터링 구축 (#620)
* chore: 프로덕션 loki 와 연결
* chore: 로그백 xml 파일에서 jasypt로 암호화 된 loki url을 복호화 하도록 스프링 부트의 초기화 동작 정의
* refactor: 컨벤션을 지키도록 개행 추가
Co-authored-by: eunjungL <[email protected]>
* chore: dev loki url 암호화
---------
Co-authored-by: eunjungL <[email protected]>
* [Feature] - BE 테스트 개선 2단계 Testcontainers 도입 (#623)
* feat: testcontainers 의존성 추가
* feat: default profile logback CONSOLE appender 추가
* feat: 내장 H2 자동 활성화 제거
* feat: test datasource mysql testcontainers 도입
* fix: MySQL 문법 오류 수정
* feat: 테스트 컨테이너에 초기화 시 flyway가 실행되도록 설정
* feat: 테스트컨테이너 localstack 의존성 추가
* refactor: 내장 S3 Mocking 설정이 local 환경에만 적용되도록 수정
* feat: LocalStackContainer를 사용하는 S3TestConfig 작성
* feat: 테스트 관련 s3 클라우드 속성 값 수정
* test: 서비스 테스트가 테스트 컨테이너로 구성된 S3 설정을 바라보도록 수정
* feat: 테스트용 프로파일 이름 test로 설정
* feat: 기존 테스트에서 사용되는 프로파일 이름 수정 default -> test
* feat: 각 테스트에서 test 프로파일로 테스트를 실행시키도록 수정
* refactor: s3 업로드 실패 시 stackTrace를 로깅하도록 핸들러 수정
* fix: 테스트 S3 버킷 images-base-uri 수정
* fix: 테스트에서 사용되는 Temporary 이미지 경로 영구저장소로 변경
* feat: S3 컨테이너 모킹 로직 제거 및 테스트컨테이너를 사용하도록 수정
* refactor: Testcontainers 설정 IntegrationTest로 통합
* refactor: S3 Bucket localStackContainer 실행 시 한 번만 생성하도록 변경
* feat: Controller, Service 계층 테스트에 IntegrationTest 상속 추가
* refactor: IntergrationTest S3 Bucket 이름 상수화
---------
Co-authored-by: eunjungL <[email protected]>
* [Feature] - BE 테스트 개선 스프링 컨텍스트 캐싱 최적화 (#625)
* refactor: 모든 서비스 테스트 스프링 부트 테스트 기반으로 통일 개
* refactor: IntegerationTest -> AbstractIntegrationTest 이름 변경
* refactor: 컨트롤러 테스트 구조 계층화
* refactor: 테스트 공통 로직 메서드명 변경
* refactor: 컨트롤러 테스트가 공통 로직을 사용하도록 추상화된 클래스 상속
* feat: 서비스 통합 테스트 추상 클래스 정의
* feat: 서비스 통합 테스트들이 추상화된 공통로직을 사용하도록 상속
* refactor: 사용하지 않는 애너테이션 제거 개선
* refactor: 불필요한 MockBean 제거 (MemberRepository, JwtTokenProvider)
* refactor: MockBean 속성 접근 제어 수준 강화 (protected -> private)
* [Feature] - Redis cache 도입 (#629)
* feat: spring-data-redis 의존성 추가
* feat: CacheManager Redis로 변경
* refactor: EnableCaching 추가
* refactor: CacheConfig package global.config로 이동
* feat: redis 관련 설정 yml 추가
* style: 줄바꿈 컨벤션 준수
* feat: Testcontainers 레디스 모듈 의존성 추가
* feat: Testcontainers 기반 통합테스트 클래스에 레디스 컨테이너 추가
---------
Co-authored-by: libienz <[email protected]>
* [Feature] - 모니터링/로깅 시스템 통합 (#633)
* chore: dev 환경 톰캣에서 SSL 인증서 제거
* chore: prod loki url 변경
* chore: 깃허브 액션에서 ssl keystore 관련 부분 제거
* [Feature] - 좋아요 순 여행기 목록 조회 페이징 캐싱 (#631)
* feat: 좋아요 순 여행기 목록 조회에 Cache 적용
* feat: PageImpl Deserializer 추가
* fix: PageDeserializer 제대로 동작되게 수정
* refactor: PageDeserializer 클래스 코드 정리
* fix: Sort 객체가 무조건 unsorted로 처리되던 현상 수정
* style: 필요 없는 로그 제거
* feat: 여행기 컨텐츠 페이지 캐싱 범위 설정 (PageNumber가 4이하인 것들만 캐싱)
* refactor: CacheConfig 불필요한 애너테이션 제거 개선
* feat: Cache Default TTL 1시간에서 30분으로 변경
---------
Co-authored-by: libienz <[email protected]>
* [Feature] - 레디스 관련 테스트 코드 작성 (#637)
* test: 여행기 페이징 조회 기능 캐시 등록 테스트 작성
* test: 여행기 페이징 조회 기능 캐시 조건 테스트 작성
* test: 여행기 페이징 캐시 TTL 테스트 작성
* test: 테스트간 캐시 격리를 위한 캐시 tearDown 로직 작성
* test: ttl이 30분인지 테스트할 때 Expiration이 29-30분 사이인지 테스트 하도록 수정
* [Fix] - dev 환경 Redis host 수정 (#642)
* [Feature] - 인기 여행기 페이징 응답 캐싱 무효화 전략 개선 (#644)
* feat: 여행기 페이지 캐싱 시 좋아요 순 페이지 요청일 경우에만 캐싱하도록 수정
* refactor: 캐싱하는 최대 페이지 번호 상수화
* feat: Repository 통합 테스트 추상 클래스 작성
* feat: 좋아요 개수가 특정 등수만큼 많은 여행기의 좋아요 개수 조회 기능 구현
* test: 특정 등수 여행기의 좋아요 개수 조회 기능 테스트 작성
* fix: 좋아요 개수 반환 long 타입으로 수정
* feat: 여행기 좋아요가 특정 수치 이상인지 확인하는 기능 추가
* feat: 여행기 좋아요 변경 시 특정 수치 이상이면 페이징 캐싱을 무효화하는 로직 작성
* refactor: 캐시 이름 상수화 개선
* fix: Repository 테스트 롤백 기능 구현
* style: 캐시 무효화 로직 메서드 이름 변경
* style: 스태틱 임포트 제거 개선
* style: 테스트 코드 개행 개선
* [Feature] - default_batch_fetch_size 적용 (#647)
* feat: default_batch_fetch_size - 100 설정
* feat: test 프로파일 default_batch_fetch_size - 100 설정
* [Feature] - TravelogueLike 조회를 fetch join으로 개선 (#649)
* feat: 사용자가 좋아요한 데이터를 여행기와 여행기 작성자 정보와 함께 가져오는 기능 구현
* refactor: 사용자가 좋아요한 정보를 가져올 때 fetch join 쿼리를 사용하도록 메서드 변경
* refactor: 사용하지 않는 메서드 삭제 개선
* [Fix] - 서로 다른 테이블에 중복 저장되는 여행기 좋아요 정보 궁극적 일관성 확보 (#651)
* fix: Repository 테스트에서 DataJpaTest로 인해 실 서비스와 다른 트랜잭션이 생성되지 않도록 수정
* feat: 실제 좋아요 정보와 여행기에 저장된 좋아요 개수를 동기화 하는 기능 추가
* feat: 매주 월요일 오전 3시 좋아요 개수를 동기화하는 배치 작업이 실행되도록 스케줄러 등록
* feat: ScheduleConfig에서 스케줄링 Enable
* feat: redis 엔드포인트 수정 (#655)
* feat: prod db 엔드포인트 수정 (#658)
---------
Co-authored-by: 리비 <[email protected]>
Co-authored-by: 이낙헌 <[email protected]>
Co-authored-by: eunjungL <[email protected]>
Co-authored-by: eunjungL <[email protected]>1 parent afcdd3e commit 64bbbab
File tree
83 files changed
+2024
-1067
lines changed- .github/workflows
- backend
- src
- main
- java/kr/touroot
- authentication/service
- global
- config
- exception
- util
- member/service
- tag/cache
- travelogue
- domain
- repository
- query
- service
- resources
- test
- java/kr/touroot
- authentication
- controller
- fixture
- helper
- service
- global
- config
- image/infrastructure
- member
- controller
- fixture
- helper
- service
- travelogue
- controller
- domain
- fixture
- helper
- repository
- query
- service
- travelplan
- controller
- domain
- fixture
- helper
- service
- utils
- resources
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
83 files changed
+2024
-1067
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | 24 | | |
28 | 25 | | |
29 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
54 | 61 | | |
55 | 62 | | |
| 63 | + | |
56 | 64 | | |
57 | 65 | | |
58 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
15 | 19 | | |
16 | 20 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
Lines changed: 63 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
Lines changed: 75 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
Lines changed: 77 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
0 commit comments