Skip to content
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

[RELEASE] v1.1.1 #310

Merged
merged 330 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
ca90fb6
feat: 알림이 필요없는 에러 핸들링 실시 #265
leegwichan Sep 12, 2024
1746bfc
refactor: jest maxWorker 제거 #262
novice0840 Sep 12, 2024
bfc0218
fix: swc 설정 충돌 해결 #262
novice0840 Sep 13, 2024
c50821b
refactor: front-CI self hosted 취소 #262
novice0840 Sep 13, 2024
272adc3
refactor: 선택된 카테고리를 filter 대신 find 로 대체 #230
rbgksqkr Sep 13, 2024
13921da
style: 시작 버튼 텍스트 수정 #230
rbgksqkr Sep 13, 2024
54f3373
feat: skeleton 스토리북 구현 #230
rbgksqkr Sep 13, 2024
f2209d3
refactor: 스토리북 폴더로 분리 #230
rbgksqkr Sep 13, 2024
c4bbbbe
refactor: 불필요해진 폴백 텍스트 제거 #230
rbgksqkr Sep 13, 2024
e4e1bc0
chore: queryClient 를 새로 생성해 테스트가 독립적으로 동작하도록 수정 #230
rbgksqkr Sep 13, 2024
ad9ecc4
fix: GameSkeleton aria-label 추가 #230
rbgksqkr Sep 13, 2024
96f6b26
test: 로딩 UI 테스트 분리 #230
rbgksqkr Sep 13, 2024
d671be4
merge: conflict 해결 #230
rbgksqkr Sep 13, 2024
eec249a
fix: self-hosted 대신 github actions 서버 사용 #230
rbgksqkr Sep 13, 2024
f5cc00d
merge: 에러 핸들링 (대기 화면 & 게임 화면) (#230)
rbgksqkr Sep 13, 2024
5b15ddc
merge: conflict 해결 #261
rbgksqkr Sep 14, 2024
1b9d1bf
refactor: Timer hooks 디렉토리로 분리 #261
rbgksqkr Sep 14, 2024
c187feb
refactor: 쿼리 발생 개수 저하되도록 만료된 방 마이그레이션 로직 수정 #268
PgmJun Sep 14, 2024
8a6ec26
refactor: deleteAllInBatch -> deleteAll 사용 #268
PgmJun Sep 14, 2024
2bda266
refactor: resetRoom 로직에서 roomBalanceBote migrate와 delete 로직 분리 #268
PgmJun Sep 14, 2024
f8fa798
refactor: 타임아웃되도 선택 API를 호출하도록 구조 리팩토링 #261
rbgksqkr Sep 14, 2024
bffc602
refactor: 미사용 메서드 제거 #268
PgmJun Sep 14, 2024
e8735a3
test: 게임 화면 UI 테스트를 위해 storybook 작성 #261
rbgksqkr Sep 14, 2024
aa4419b
design: timer 구조 변경으로 인한 스타일 수정 #261
rbgksqkr Sep 14, 2024
0267606
design: 대기 화면 공통 레이아웃 적용 #261
rbgksqkr Sep 14, 2024
408bec7
refactor: 시간 재는 타이머 관련 로직을 API 로직과 분리 #261
rbgksqkr Sep 14, 2024
ab85a2c
refactor: 투표 시간 측정 타이머에 맞게 voteTimer로 이름 수정 #261
rbgksqkr Sep 14, 2024
b22e1a6
refactor: 선택 완료 버튼 클릭 이벤트리스너명 vote로 수정 #261
rbgksqkr Sep 14, 2024
bbd04ff
test: 타이머가 종료되었을 때 선택된 옵션이 있으면 투표 테스트 코드 작성 #261
rbgksqkr Sep 14, 2024
309a7bb
refactor: 투표 종료 여부를 Timer 컴포넌트가 가지면서 리렌더링 최적화 #261
rbgksqkr Sep 14, 2024
55cedd6
refactor: roundVoteIsFinished 네이밍을 voteIsFinished로 수정 #261
rbgksqkr Sep 14, 2024
0fa5023
refactor: Timer를 SelectContainer 하위 디렉토리로 위치 수정 #261
rbgksqkr Sep 14, 2024
7e2cacb
feat: 게임 시작 전 카운트다운 구현 #270
rbgksqkr Sep 15, 2024
1377be5
test: Countdown 스토리북 구현 #270
rbgksqkr Sep 15, 2024
69f23b2
refactor: 벌크 삭제 시 deleteAllInBatch() 사용하도록 변경 #268
PgmJun Sep 15, 2024
c4fe0c3
refactor: Countdown dimmed 영역 추가 #270
rbgksqkr Sep 16, 2024
d147ff0
design: Countdown 텍스트가 잘 안보인다는 피드백 반영 #270
rbgksqkr Sep 16, 2024
0c3b925
design: Countdown 땅콩이 카운트에 따라 점점 커지도록 구현 #270
rbgksqkr Sep 16, 2024
0a935d0
test: 게임 대기 화면 스토리북 구현 #270
rbgksqkr Sep 16, 2024
0fa4536
feat: 카운트 다운 끝난 후 게임 화면 라우팅 #270
rbgksqkr Sep 16, 2024
c29dcda
refactor: 게임 대기 화면 스토리북 폴더 수정 #270
rbgksqkr Sep 16, 2024
e279265
refactor: 타이머 관련 방어코드 작성 #270
rbgksqkr Sep 16, 2024
fab6ee7
style: 버튼과 모달 가까이 위치 #270
rbgksqkr Sep 16, 2024
33e91ec
refactor: 게임 시작과 관련된 로컬 상태를 방정보 커스텀 훅과 분리 #270
rbgksqkr Sep 16, 2024
f4d8acd
refactor: 카운트다운에 aria-label 추가 #270
rbgksqkr Sep 16, 2024
c833681
refactor: 시작 버튼을 isMaster로 관리 #270
rbgksqkr Sep 16, 2024
48c41ef
test: 게임 시작 버튼을 클릭하면 카운트 다운을 시작하는 테스트 코드 작성 #270
rbgksqkr Sep 16, 2024
9046728
test: 카운트 다운이 시작되고 3초 후 게임 화면으로 넘어가는 테스트 코드 작성 #270
rbgksqkr Sep 16, 2024
7467141
refactor: 카운트다운 관련 로직 커스텀 훅 분리 #270
rbgksqkr Sep 16, 2024
18630a9
refactor: Countdown 폴더 위치 수정 #270
rbgksqkr Sep 16, 2024
85ce80b
refactor: useTimer 의존성 배열 수정 #261
rbgksqkr Sep 16, 2024
20d4ddf
refactor: timer 유틸함수 분리 #261
rbgksqkr Sep 16, 2024
23c1e66
refactor: 불필요한 패키지 제거 #262
novice0840 Sep 18, 2024
6bdee26
refactor: 불필요한 옵션 제거 #262
novice0840 Sep 18, 2024
1a28c30
refactor: CI 설정 충돌 해결 #262
novice0840 Sep 18, 2024
2a572d7
refactor: 모호한 함수명 수정 #261
rbgksqkr Sep 19, 2024
d21a106
refactor: sudo로 변경하여 logback 쓰기권한 흭득 #81
PgmJun Sep 19, 2024
eb4a90e
fix: HttpMediaTypeNotSupportedException를 415 Unsupported Media Type으로…
leegwichan Sep 19, 2024
df4f66e
fix: ClientErrorCode를 이전 버전으로 수정 및 새로운 코드 추가
leegwichan Sep 19, 2024
c46aaa1
chore: build는 ubuntu 환경에서 처리하도록 변경 #81
PgmJun Sep 19, 2024
01ff52d
refactor: 불필요한 리스트 생성 제거 #268
PgmJun Sep 19, 2024
ded9a45
refactor: 미사용 메서드 제거 #268
PgmJun Sep 19, 2024
4d25f2f
fix: 테스트용 메서드 제거 #268
PgmJun Sep 19, 2024
12b5d12
fix: 임시 사용 로직 제거 #268
PgmJun Sep 19, 2024
b9bcf7a
fix: EntityManger 로직 제거 #268
PgmJun Sep 19, 2024
f5de6b1
fix: 테스트에서 트랜잭션 제거 #268
PgmJun Sep 19, 2024
34c14d8
merge: git branch 충돌 해결 #274
novice0840 Sep 19, 2024
2f8e096
refactor: refetchInterval 및 refetchIntervalInBackground 를 통해 게임 화면으로 …
rbgksqkr Sep 19, 2024
ad3f7a6
refactor: 초대하기 버튼 위치 변경 #274
novice0840 Sep 19, 2024
70b2a92
fix: 투표를 한 상태여도 타이머가 끝난 후 투표 API 요청을 하는 오류 해결 #261
rbgksqkr Sep 19, 2024
b127e40
test: 타이머가 종료되었을 때 이미 투표를 했다면 또 투표를 하지 않는 테스트 코드 구현 #261
rbgksqkr Sep 19, 2024
af686cd
refactor: 게임화면에서 선택 버튼을 누르지 않아도 옵션이 선택되도록 리팩토링 #261
rbgksqkr Sep 19, 2024
cb8d0e1
merge: conflict 해결 #270
rbgksqkr Sep 19, 2024
6476f6a
feat: category mouse cursor pointer 추가 #274
novice0840 Sep 19, 2024
963a0fd
feat: 매칭 결과로 제목 수정 및 설명 추가 #273
useon Sep 20, 2024
f23bc37
refactor: Modal을 context로 관리 #272
rbgksqkr Sep 20, 2024
db07003
test: Modal 리팩토링을 위한 게임 시작 테스트 코드 작성 #272
rbgksqkr Sep 20, 2024
016a4ea
refactor: 방장 여부 recoil 값을 넣어 렌더링하는 테스트 유틸 함수 공용화 #272
rbgksqkr Sep 20, 2024
0ec6545
refactor: customRenderWithIsMaster 테스트코드 적용 #272
rbgksqkr Sep 20, 2024
7aba249
refactor: 시작 버튼을 isMaster로 관리 #272
rbgksqkr Sep 20, 2024
86db138
refactor: Modal Context 게임 시작 부분 적용 #272
rbgksqkr Sep 20, 2024
8cf7398
refactor: Modal Context 투표 부분 적용 #272
rbgksqkr Sep 20, 2024
edb5f7d
refactor: Modal UI 역할이 사라져 StartButtonContainer 제거 #272
rbgksqkr Sep 20, 2024
f67f2f8
refactor: 게임 결과에도 Modal Context 적용 #272
rbgksqkr Sep 20, 2024
c65a2c0
feat: 카테고리 클릭 시 방 설정 모달 #274
novice0840 Sep 20, 2024
f620ab9
refactor: RoomSettingHeader에 Modal Context 적용 #272
rbgksqkr Sep 20, 2024
be3b4fd
refactor: 다른 모달도 적용할 수 있도록 Modal props 설정 #272
rbgksqkr Sep 20, 2024
45dd23b
fix: modal에서 toast를 사용하므로 toast를 modal 부모 요소로 수정 #272
rbgksqkr Sep 20, 2024
de1957d
refactor: 다음 라운드 안내 모달 Modal Context 적용 #272
rbgksqkr Sep 20, 2024
e435ed1
refactor: 초대하기 모달 Modal Context 적용 #272
rbgksqkr Sep 20, 2024
3de4785
refactor: 방 생성 및 참가 에러 모달 Modal Context 적용 #272
rbgksqkr Sep 20, 2024
cc96e08
fix: onConfirm 함수가 동작하지 않는 문제 해결 #272
rbgksqkr Sep 20, 2024
618f45f
refactor: 중복된 모달 하나로 합치기 #272
rbgksqkr Sep 20, 2024
34b3751
fix: Modal storybook 에 Provider 추가 #272
rbgksqkr Sep 20, 2024
40b38d1
merge: [TEST] 테스트 성능 개선 #267
novice0840 Sep 20, 2024
35108bf
refactor: webpack 설정 추가 #274
novice0840 Sep 20, 2024
15afe32
style: 변수명 수정 #270
rbgksqkr Sep 20, 2024
a258084
refactor: 이미지 형식 webp로 변환 및 이미지 크기 조절 #278
rbgksqkr Sep 21, 2024
9156bf7
refactor: 폰트 preload 적용 #278
rbgksqkr Sep 21, 2024
6a8325d
refactor: meta tag 추가 #278
rbgksqkr Sep 21, 2024
69fcab6
refactor: favicon 설정 #278
rbgksqkr Sep 21, 2024
0c84823
refactor: font subset 적용하여 리소스 용량 줄이기 #278
rbgksqkr Sep 21, 2024
a529007
feat: categoryContainer에 방 정보 추가 #274
novice0840 Sep 21, 2024
5d986c4
refactor: modal close 후 스크롤이 다시 생기는 버그 해결 #274
novice0840 Sep 21, 2024
288f6da
feat: resize 시 버튼 위치 변경 #274
novice0840 Sep 21, 2024
9c26a17
chore: webpack-bundle-analyzer 설정 #278
rbgksqkr Sep 21, 2024
4146635
chore: js output contenthash 적용 #278
rbgksqkr Sep 21, 2024
43e6bd6
refactor: 코드 스플리팅 적용 #278
rbgksqkr Sep 21, 2024
d5d690d
refactor: RoomBalanceVote 삭제 로직 ExpiredRoomMigrator에서 RoomBalanceVote…
PgmJun Sep 22, 2024
39ae19c
refactor: migrate 로직 메서드 분리 #268
PgmJun Sep 22, 2024
8f87855
refactor: 종료된 방 마이그레이션 로직도 RoomMigrator에서 관리 #268
PgmJun Sep 22, 2024
4c84e97
style: 만료된 방뿐만 아니라 종료된 방도 마이그레이션 하므로 ExpiredRoomMigrator에서 RoomMigrat…
PgmJun Sep 22, 2024
b22e6fc
test: 종료된 방 마이그레이션 로직 관련 테스트 코드 수정 #268
PgmJun Sep 22, 2024
1a77f8e
test: 종료된 방 투표 마이그레이션 테스트 작성 #268
PgmJun Sep 22, 2024
9fb06f9
style: 방 투표로 전체 투표 생성하여 저장하는 메서드 네이밍 구체적으로 변경 #268
PgmJun Sep 22, 2024
edc1a3b
refactor: 멤버 투표 마이그레이션하는 로직 네이밍 구체적으로 변경 #268
PgmJun Sep 22, 2024
1733e83
test: 만료된 방 정보 마이그레이션 테스트 작성 #268
PgmJun Sep 22, 2024
642621d
refactor: 방 종료 검증 로직 위치 Migrator에서 RoomFacade.resetRoom() 으로 수정 #268
PgmJun Sep 22, 2024
1d757f9
style: migrator에서 룸의 상태에 대한 정보 제거 #268
PgmJun Sep 22, 2024
3b3deae
Merge pull request #263 from woowacourse-teams/refactor/#81
PgmJun Sep 22, 2024
ed4be6b
refactor: 서브셋 폰트 preload 적용 #278
rbgksqkr Sep 22, 2024
2c21588
merge: 500 에러가 아닌 에러 핸들링하기 #265
leegwichan Sep 23, 2024
7983b89
feat: nickname input focus에 따라 button 위치 변경 #274
novice0840 Sep 23, 2024
ca06d8f
feat: SpringActuator 의존성 추가 #279
PgmJun Sep 23, 2024
d2aea78
chore: prod 환경은 health check만 가능하도록 설정 #279
PgmJun Sep 23, 2024
f523295
Merge pull request #280 from woowacourse-teams/feat/#279
PgmJun Sep 23, 2024
07629dd
feat: random nickname 컴포넌트 외부에서 생성 #274
novice0840 Sep 23, 2024
d433d2e
chore: CI/CD 스크립트에 분산 prod 환경 (prod-a, prod-b) 설정 적용 #281
PgmJun Sep 23, 2024
30371d6
chore: 운영환경 AZ에 따른 스크립트 네이밍 수정 #281
PgmJun Sep 23, 2024
b73cd78
Merge pull request #282 from woowacourse-teams/feat/#281
PgmJun Sep 23, 2024
9548958
feat: categoryContainer 테스트 코드 when given 추가 #274
novice0840 Sep 23, 2024
c2e58cd
Merge pull request #275 from woowacourse-teams/refactor/#268
PgmJun Sep 23, 2024
36e3733
refactor: isFinalPage 이름을 isMatchingPage로 수정 #273
useon Sep 23, 2024
3ec3093
refactor: 최대 인원, 최대 닉네임 글자를 테스트 하기 위해 mock data 수정 #273
useon Sep 23, 2024
a00dae9
refactor: 헤더 컴포넌트에 매칭 결과 화면 헤더 추가 #273
useon Sep 23, 2024
9ba4988
fix: Modal에서 navigate 사용하지 못하는 오류 해결 #272
rbgksqkr Sep 23, 2024
9688a5e
fix: 브라우저 환경과 Provider 구조가 다른 문제 해결 #272
rbgksqkr Sep 23, 2024
75bf25c
fix: 매칭 인원이 8명 이상인 경우 화면에 다 보이지 않는 문제 해결 #273
useon Sep 23, 2024
d8d26a3
refactor: 카운트다운을 스크린 리더가 읽도록 aria-live 추가 #270
rbgksqkr Sep 24, 2024
b507b8d
design: 카운트다운이 시작버튼 위로 오도록 z-index 설정 #270
rbgksqkr Sep 24, 2024
7187a49
design: 매칭도 바의 길이보다 닉네임이 긴 경우 바 영역 밖으로 나오도록 수정 #273
useon Sep 24, 2024
c172e8e
refactor: 배열 생성 자체를 막도록 조건문 추가 #270
rbgksqkr Sep 24, 2024
8ba8097
design: 매칭 순위가 두 자리인 경우 정렬 어긋남 개선 #273
useon Sep 24, 2024
b54ac00
feat: resize 이벤트로 모바일 키보드 여부 판단 기능 추가 #274
novice0840 Sep 24, 2024
56007f2
test: CategoryContainer 컴포넌트 테스트 추가 #274
novice0840 Sep 24, 2024
28188cd
merge: develop 브랜치 병합 #274
novice0840 Sep 24, 2024
6100fdc
chore: prod 환경 application-prod.yml DB Replication 로직 설정 #287
PgmJun Sep 24, 2024
b62667c
feat: Replication DB DataSource Routing 로직 작성 #287
PgmJun Sep 24, 2024
b8b4468
chore: 변경된 secret property key name 반영 #287
PgmJun Sep 24, 2024
987f791
feat: 매칭 결과가 정해진 크기 이상인 경우 스크롤, 플로팅 버튼으로 위 아래 이동 할 수 있는 기능 #273
useon Sep 24, 2024
2c92f88
fix: Source DB 라우팅 네이밍 오류 수정 #287
PgmJun Sep 24, 2024
1ce4d4c
design: 위/아래 플로팅 버튼 스타일 추가 #273
useon Sep 24, 2024
3ddf940
fix: url properties 이름 jdbc-url로 변경 #287
PgmJun Sep 24, 2024
ad27f35
refactor: 스크롤 관련 비즈니스 코드 별도의 커스텀 훅으로 분리 #273
useon Sep 24, 2024
9b86419
refactor: 스크롤 상태와 스크롤 제어 로직을 분리 #273
useon Sep 24, 2024
a6639ae
refactor: 매칭 결과가 있는 경우에만 플로팅 버튼이 뜨도록 수정 #273
useon Sep 24, 2024
69dabd6
refactor: 라운드 결과의 투표 현황 탭에서 투표 현황을 확인할 수 있도록 수정 #290
useon Sep 25, 2024
16d650f
refactor: 라운드 결과 페이지에서 빈 헤더 영역 차지하지 않도록 수정 #290
useon Sep 25, 2024
2db274c
refactor: 라운드 결과 레이아웃 수정 및 불필요한 컴포넌트 삭제 #290
useon Sep 25, 2024
55d7e07
style: master, slave 네이밍 source, replica로 변경 #287
PgmJun Sep 25, 2024
9c2d67f
style: RoutingReplicas <> 추가 #287
jhon3242 Sep 25, 2024
09ad10a
merge: 게임 시작 전 카운트 다운 애니메이션 기능 구현 #270
rbgksqkr Sep 25, 2024
cbfc8ba
feat: 투표 결과에 대한 동률 여부 및 우세한 선택지를 반환하는 유틸 함수 구현 #290
useon Sep 25, 2024
9639aef
feat: 해당 문항의 전체 응답 데이터를 요약해서 보여주는 기능 #290
useon Sep 25, 2024
c1c3dc1
fix: 방장이 아닌 사용자가 카운트다운 후 게임 시작 안되는 오류 해결 #293
rbgksqkr Sep 25, 2024
1163c76
feat: 투표 현황에서 나의 닉네임을 강조하여 표시하는 기능 #290
useon Sep 25, 2024
a718900
refactor: 라운드 결과 탭 이름을 투표 결과, 투표 현황으로 수정 #290
useon Sep 25, 2024
f2e1681
refactor: 탭이 방의 퍼센트와 전체 퍼센트에서 투표 결과 퍼센트와 투표 현황으로 수정됨에 따라 불 필요한 코드 삭제 …
useon Sep 25, 2024
4863db2
fix: 카운트다운 테스트 코드 오류 해결 #293
rbgksqkr Sep 25, 2024
a4c07d7
fix: 방장이 아닌 사용자가 카운트다운 후 게임 시작 안되는 오류 해결 #293
rbgksqkr Sep 25, 2024
1e4ffa2
feat: 라운드 결과 페이지에 라운드 헤더 추가 #290
useon Sep 25, 2024
13904fe
refactor: 탭 안에 토픽이 위치하도록 로직 수정 #290
useon Sep 25, 2024
11c72b8
design: 라운드 페이지 스타일 수정 #290
useon Sep 25, 2024
3629dd1
refactor: 라운드 결과 탭 이름을 투표 결과에서 투표 통계로 수정 #290
useon Sep 25, 2024
037b9b1
refactor: 투표 현황 페이지 삭제 #290
useon Sep 25, 2024
eef73ae
refactor: 사용하지 않는 스타일 삭제 #290
useon Sep 25, 2024
0861e77
refactor: 라운드 결과 탭에서 그룹 관련된 코드 투표 통계로 수정 #290
useon Sep 25, 2024
2ed4172
refactor: TabContentContainer 스토리북 수정 #290
useon Sep 25, 2024
1af176d
refactor: RoundVoteContainer 테스트 코드 수정 #290
useon Sep 25, 2024
5031b0f
refactor: TabContentContainer 프로퍼티 이름 수정 #290
useon Sep 25, 2024
1c8845d
refactor: 불 필요한 코드 삭제 #290
useon Sep 25, 2024
3d7405d
refactor: CategoryContainer test 코드 명시적으로 변경 #274
novice0840 Sep 26, 2024
0a78fe9
refactor: 이미지 포맷 및 크기 최적화 #292
rbgksqkr Sep 26, 2024
14776af
refactor: 불필요한 코드 제거 #274
novice0840 Sep 26, 2024
cdaf8e1
refactor: useKeyboard hook export -> default export로 변경 #274
novice0840 Sep 26, 2024
d7db32f
refactor: 불필요한 useState 제거 #274
novice0840 Sep 26, 2024
5ddfe63
refactor: CategoryContainer 테스트 코드 오류 수정 #274
novice0840 Sep 26, 2024
ba0f7d8
merge: conflict 해결 #272
rbgksqkr Sep 26, 2024
4ad709d
merge: conflict 해결 #272
rbgksqkr Sep 26, 2024
502d6dc
merge: 모달을 Context로 관리하여 사용성 개선 #272
rbgksqkr Sep 26, 2024
c4d8735
merge: conflict 해결 #292
rbgksqkr Sep 26, 2024
28b6d8a
refactor: 매칭 결과 높이 주석 추가 #273
useon Sep 26, 2024
a578eb4
refactor: 초대 버튼 글씨 굵기 변경 #274
novice0840 Sep 26, 2024
92b8e50
merge: develop 충돌 해결 #274
novice0840 Sep 26, 2024
6150b54
refactor: 불필요한 코드 제거 #274
novice0840 Sep 26, 2024
ac6132b
merge: [FEAT] 대기방 UI 수정 및 런칭 데이 피드백 반영
novice0840 Sep 26, 2024
c2243a4
refactor: 타입 단언을 통해 스크롤 로직 개선 #273
useon Sep 26, 2024
a102972
design: 매칭 결과 설명 텍스트 진하기 수정 #273
useon Sep 26, 2024
ca07215
refactor: 내 닉네임인지 여부 변수명 수정 #290
useon Sep 26, 2024
82d74db
refactor: 선택지 두 개가 수치가 동등한지 여부를 나타내는 변수명 수정 #290
useon Sep 26, 2024
2be9bf2
refactor: 100 퍼센트 기준 대신 1 을 비율의 최댓값으로 수정 #292
rbgksqkr Sep 26, 2024
1ab5dc4
refactor: width와 right 대신 transform을 활용하여 reflow 발생 최적화 #292
rbgksqkr Sep 26, 2024
8877e1d
refactor: nickname을 표시하는 컴포넌트의 prop에 알맞게 수정 #290
useon Sep 26, 2024
d7fa617
refactor: 불 필요한 타임 아웃 코드 삭제 #290
useon Sep 26, 2024
e0fd81e
refactor: 선택지의 퍼센트보다 멤버수로 투표 여부를 판단하도록 로직 수정 #290
useon Sep 26, 2024
8418b45
refactor: TabContentContainer에서 사용되는 util 파일 이름 수정 #290
useon Sep 26, 2024
95774ed
refactor: 투표 현황 페이지 삭제됨에 따라 불필요한 코드 삭제 #290
useon Sep 26, 2024
df18c76
merge: 충돌 해결 #273
useon Sep 26, 2024
e1ddf61
merge: [FEAT] 매칭 결과 페이지 피드백 반영
useon Sep 26, 2024
c476734
refactor: rate와 scale 네이밍 수정 #292
rbgksqkr Sep 26, 2024
bebafdf
fix: 화면을 벗어나는 문제로 인해 100이 아닌 98로 계산 #292
rbgksqkr Sep 26, 2024
6d9ecbe
merge: 병합 충돌 해결 #290
useon Sep 26, 2024
ddde96c
merge: 라운드 결과 페이지 피드백 반영 #290
useon Sep 26, 2024
585207d
style: DB Routing log 설정 #287
PgmJun Sep 26, 2024
9848997
style: TODO 제거 #287
PgmJun Sep 26, 2024
31e06b8
style: 다중 개행 제거 #287
PgmJun Sep 26, 2024
e63cf62
style: RoutingDataSource에서 Slf4j 설정 제거 #287
PgmJun Sep 26, 2024
f56a315
chore: prod 환경 자원을 아끼기 위해 be-ci-prod 스크립트 Git Actions 서버 사용하도록 변경 #287
PgmJun Sep 26, 2024
2a2e35e
Merge pull request #299 from woowacourse-teams/feat/#287
PgmJun Sep 26, 2024
ffe3f0d
refactor: DataSourceType Enum으로 관리 #301
PgmJun Sep 26, 2024
6b4f07b
refactor: 패키지 구조 변경 #301
PgmJun Sep 26, 2024
74d3c21
merge: develop 충돌 해결 #
novice0840 Sep 26, 2024
2ab32ef
refactor: settingIcon webp로 변경 #291
novice0840 Sep 25, 2024
a5acd73
merge: develop 충돌 해결 #291
novice0840 Sep 26, 2024
aed82dd
merge: conflict 해결 #278
rbgksqkr Sep 26, 2024
5e46808
chore: github actions 스크립트 수정 #278
rbgksqkr Sep 26, 2024
a3d78d8
merge: 홈 화면 성능 개선 #278
rbgksqkr Sep 26, 2024
8ba8db8
fix: image 확장자 에러 해결 #291
novice0840 Sep 26, 2024
ad2d0e7
merge: 대기방 및 닉네임 화면 성능 개선 #291
novice0840 Sep 26, 2024
a0d6152
merge: 게임 화면 성능 개선 #292
rbgksqkr Sep 26, 2024
fc355f3
feat: 첫 라운드에 게임 준비 시간 추가 #302
jhon3242 Sep 26, 2024
49f4429
refactor: png 확장자 이미지를 webp 확장자로 수정 후 적용 #300
useon Sep 26, 2024
c9ac181
fix: BundleAnalyzerPlugin를 dev 환경에 설정 #305
rbgksqkr Sep 26, 2024
8c51fa6
feat: 요청 성공 시, Response URI, Body 로깅 기능 구현 #306
PgmJun Sep 26, 2024
10298da
fix: analyzer 플러그인 제거 #305
rbgksqkr Sep 26, 2024
2b1df2e
merge: BundleAnalyzerPlugin 을 프로덕션 환경에서 실행 시 빌드가 멈추는 오류 해결 #305
novice0840 Sep 26, 2024
8321db8
feat: 응답정보에 요청에 대한 HttpMethod도 로깅 #306
PgmJun Sep 26, 2024
106e90a
refactor: 정해진 영역보다 컨텐츠 길이가 긴 경우에만 스크롤 생기도록 수정 #300
useon Sep 26, 2024
5fc7bfe
refactor: 스피너 로딩시 레이아웃 시프트 개선 #300
useon Sep 26, 2024
c0c5896
refactor: 매칭 결과에서 매칭된 사람이 아무도 없는 경우 레이아웃 시프트 개선 #300
useon Sep 26, 2024
3b0a9b1
refactor: 매칭 결과에서 퍼센트 숫자가 오르면서 발생하는 레이아웃 시프트 개선 #300
useon Sep 26, 2024
25f38f3
merge: 라운드 결과 & 매칭 결과 성능 개선 #300
novice0840 Sep 26, 2024
bc3a0e2
fix: Replica1 -> Replica로 설정값 변경 #301
PgmJun Sep 26, 2024
2d4a26c
chore: 변수명 의미 더 잘 전달되게 변경 #287
jhon3242 Sep 26, 2024
bc7e317
Merge pull request #303 from woowacourse-teams/refactor/#301
PgmJun Sep 26, 2024
b3f24b6
Merge pull request #304 from woowacourse-teams/feat/#302
jhon3242 Sep 26, 2024
5519ba6
style: 개행 추가 #306
PgmJun Sep 27, 2024
b47ed39
Merge pull request #308 from woowacourse-teams/feat/#306
PgmJun Sep 27, 2024
1ec366d
merge: conflict 해결 #
novice0840 Sep 27, 2024
176c406
merge: 충돌 삭제되지 않은 파일 삭제
leegwichan Sep 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/fe-cd-storybook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
API_BASE_URL: ${{ secrets.API_BASE_URL }}

- name: build storybook
run: npm run build-storybook
run: npm run build:storybook

- name: upload storybook
uses: peaceiris/actions-gh-pages@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fe-ci-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
${{ runner.os }}-node-

- name: Build
run: npm run build-dev
run: npm run build:dev
working-directory: ./frontend

- name: Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.springframework.web.context.request.ServletRequestAttributes;

@Slf4j
abstract class RequestLoggingAspect {
abstract class ControllerLoggingAspect {

@Pointcut("execution(* ddangkong.controller..*Controller.*(..))")
public void allController() {
Expand All @@ -27,11 +27,7 @@ public void polling() {
public void allControllerWithoutPolling() {
}

protected void logController(JoinPoint joinPoint) {
logRequest(joinPoint);
}

private void logRequest(JoinPoint joinPoint) {
protected void logControllerRequest(JoinPoint joinPoint) {
HttpServletRequest request = getHttpServletRequest();
String uri = request.getRequestURI();
String httpMethod = request.getMethod();
Expand All @@ -41,6 +37,14 @@ private void logRequest(JoinPoint joinPoint) {
log.info("Request Logging: {} {} body - {} parameters - {}", httpMethod, uri, body, queryParameters);
}

protected void logControllerResponse(JoinPoint joinPoint, Object responseBody) {
HttpServletRequest request = getHttpServletRequest();
String uri = request.getRequestURI();
String httpMethod = request.getMethod();

log.info("Response Logging: SUCCESS {} {} Body: {}", httpMethod, uri, responseBody);
}

private HttpServletRequest getHttpServletRequest() {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return requestAttributes.getRequest();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package ddangkong.aop.logging;


import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;

@Aspect
@Component
@Profile({"dev", "local"})
public class DevControllerLoggingAspect extends ControllerLoggingAspect {

@Before("allController()")
public void logControllerRequest(JoinPoint joinPoint) {
super.logControllerRequest(joinPoint);
}

@AfterReturning(pointcut = "allController()", returning = "responseBody")
protected void logControllerResponse(JoinPoint joinPoint, Object responseBody) {
super.logControllerResponse(joinPoint, responseBody);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
@Aspect
@Component
@Profile("prod")
public class ProdRequestLoggingAspect extends RequestLoggingAspect {
public class ProdControllerLoggingAspect extends ControllerLoggingAspect {

@Before("allControllerWithoutPolling()")
public void logController(JoinPoint joinPoint) {
super.logController(joinPoint);
public void logControllerRequest(JoinPoint joinPoint) {
super.logControllerRequest(joinPoint);
}
}
54 changes: 54 additions & 0 deletions backend/src/main/java/ddangkong/config/sql/DataSourceConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package ddangkong.config.sql;

import ddangkong.config.sql.type.DataSourceType;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Profile;
import org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy;

@Profile("prod")
@Configuration
public class DataSourceConfig {

@Bean
@ConfigurationProperties(prefix = "spring.datasource.source")
public DataSource sourceDataSource() {
return DataSourceBuilder.create()
.build();
}

@Bean
@ConfigurationProperties(prefix = "spring.datasource.replica")
public DataSource replicaDataSource() {
return DataSourceBuilder.create()
.build();
}

@Bean
public DataSource routingDataSource(
DataSource sourceDataSource,
DataSource replicaDataSource
) {
Map<Object, Object> dataSources = new HashMap<>();
dataSources.put(DataSourceType.SOURCE, sourceDataSource);
dataSources.put(DataSourceType.REPLICA, replicaDataSource);

RoutingDataSource routingDataSource = new RoutingDataSource();
routingDataSource.setDefaultTargetDataSource(dataSources.get(DataSourceType.SOURCE));
routingDataSource.setTargetDataSources(dataSources);

return routingDataSource;
}

@Primary
@Bean
public DataSource dataSource() {
return new LazyConnectionDataSourceProxy(routingDataSource(sourceDataSource(), replicaDataSource()));
}
}
18 changes: 18 additions & 0 deletions backend/src/main/java/ddangkong/config/sql/RoutingDataSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ddangkong.config.sql;

import ddangkong.config.sql.type.DataSourceType;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import org.springframework.transaction.support.TransactionSynchronizationManager;

public class RoutingDataSource extends AbstractRoutingDataSource {

@Override
protected Object determineCurrentLookupKey() {
boolean isReadOnly = TransactionSynchronizationManager.isCurrentTransactionReadOnly();
if (isReadOnly) {
return DataSourceType.REPLICA;
} else {
return DataSourceType.SOURCE;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package ddangkong.config.sql.type;

public enum DataSourceType {
SOURCE,
REPLICA,
;
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
public class RoomContent {

private static final int DELAY_MSEC = 2_000; // TODO SEC로 변경
private static final int GAME_START_WAITING_MSEC = 3_000; // TODO SEC로 변경
private static final int FIRST_ROUND = 1;
private static final int MSEC = 1_000;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down Expand Up @@ -58,7 +61,11 @@ public void updateVoteDeadline(LocalDateTime now, int timeLimit) {
throw new VoteDeadlineConfiguredException();
}

int afterSec = (timeLimit + DELAY_MSEC) / 1_000;
int afterSec = (timeLimit + DELAY_MSEC) / MSEC;
if (round == FIRST_ROUND) {
afterSec += GAME_START_WAITING_MSEC / MSEC;
}

voteDeadline = now.plusSeconds(afterSec);
}

Expand Down
8 changes: 4 additions & 4 deletions backend/src/main/resources/application-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ spring:
username: ${secret.datasource.source.username}
password: ${secret.datasource.source.password}
jdbc-url: jdbc:mysql://${secret.datasource.source.host}:${secret.datasource.source.port}/${secret.datasource.database}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
replica1:
replica:
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${secret.datasource.replica1.username}
password: ${secret.datasource.replica1.password}
jdbc-url: jdbc:mysql://${secret.datasource.replica1.host}:${secret.datasource.replica1.port}/${secret.datasource.database}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
username: ${secret.datasource.replica.username}
password: ${secret.datasource.replica.password}
jdbc-url: jdbc:mysql://${secret.datasource.replica.host}:${secret.datasource.replica.port}/${secret.datasource.database}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false

sql:
init:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertAll;

import ddangkong.domain.balance.content.BalanceContent;
import ddangkong.domain.balance.content.Category;
Expand All @@ -25,7 +26,7 @@ class 투표_마감_시간_설정 {
@Test
void 투표_마감_시간을_설정한다() {
// given
int currentRound = 1;
int currentRound = 2;
int timeLimit = 10_000;
RoomSetting roomSetting = new RoomSetting(5, timeLimit, Category.IF);

Expand Down Expand Up @@ -62,7 +63,7 @@ class 투표_마감_시간_지남_여부 {

private static final Room ROOM = Room.createNewRoom();
private static final BalanceContent BALANCE_CONTENT = new BalanceContent(Category.IF, "치킨 vs 피자");
private static final int ROUND = 1;
private static final int ROUND = 2;

@Test
void 투표_마감_시간보다_이전_시간이면_투표가_마감되지_않은_것이다() {
Expand Down Expand Up @@ -100,4 +101,31 @@ class 투표_마감_시간_지남_여부 {
.isExactlyInstanceOf(MismatchRoundException.class);
}
}

@Nested
class 게임_대기_시간_포함_투표_마감_시간_지남_여부 {

private static final Room ROOM = Room.createNewRoom();
private static final BalanceContent BALANCE_CONTENT = new BalanceContent(Category.IF, "치킨 vs 피자");
private static final int START_ROUND = 1;

@Test
void 첫_라운드는_투표_마감_시간에는_게임_대기_시간을_추가된다() {
// given
LocalDateTime voteDeadline = LocalDateTime.parse("2024-08-03T20:00:03");
RoomContent roomContent = RoomContent.newRoomContent(ROOM, BALANCE_CONTENT, START_ROUND);
int timeLimit = 3;
LocalDateTime inTime = LocalDateTime.parse("2024-08-03T20:00:08");
LocalDateTime overTime = LocalDateTime.parse("2024-08-03T20:00:09");

// when
roomContent.updateVoteDeadline(voteDeadline, timeLimit);

// then
assertAll(
() -> assertThat(roomContent.isOverVoteDeadline(inTime, START_ROUND)).isFalse(),
() -> assertThat(roomContent.isOverVoteDeadline(overTime, START_ROUND)).isTrue()
);
}
}
}
23 changes: 0 additions & 23 deletions frontend/index.html

This file was deleted.

Loading