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

fix: admin token #231

Merged
merged 30 commits into from
Dec 3, 2023
Merged

fix: admin token #231

merged 30 commits into from
Dec 3, 2023

Conversation

parksey
Copy link
Contributor

@parksey parksey commented Dec 3, 2023

๐Ÿ“‹ Checklist

  • ๐Ÿ”€ PR ์ œ๋ชฉ์˜ ํ˜•์‹์„ ์ž˜ ์ž‘์„ฑํ–ˆ๋‚˜์š”? (e.g. feat: ์œ ์ € ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„)
  • ๐Ÿท๏ธ ๋ผ๋ฒจ, ํ”„๋กœ์ ํŠธ, ๋งˆ์ผ์Šคํ†ค์€ ๋“ฑ๋กํ–ˆ๋‚˜์š”?
  • ๐Ÿงน ์ฝ”๋“œ ์Šค๋ฉœ์€ ํ•ด๊ฒฐํ–ˆ๋‚˜์š”?

๐Ÿงฉ ์ด์Šˆ ๋ฒˆํ˜ธ

๐Ÿ‘ฉโ€๐Ÿ’ป ๊ณต์œ  ํฌ์ธํŠธ ๋ฐ ๋…ผ์˜ ์‚ฌํ•ญ

  • Admin token๊ณผ User Token ๋ถ„๋ฆฌ
  • ํšŒ์› ์ธ์ฆ ๊ธฐ๋Šฅ role๋ณ„ ๋ถ„๋ฆฌ
  • cookie๊ฐ’ ์„œ๋ธŒ ๋„๋ฉ”์ธ๊ฐ„ ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ฐ ๋„๋ฉ”์ธ ์„ค์ •
  • ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ ์‹œ, ๋ฑƒ์ง€ ๊ฐ’ ๋ณ€๊ฒฝ

parksey and others added 29 commits November 28, 2023 15:50
โ€ฆto feature/#163-ranking-system

# Conflicts:
#	src/main/java/com/moabam/api/application/member/MemberService.java
โ€ฆto feature/#163-ranking-system

# Conflicts:
#	src/main/java/com/moabam/api/application/member/MemberService.java
#	src/main/java/com/moabam/api/infrastructure/redis/ZSetRedisRepository.java
โ€ฆto feature/#163-ranking-system

# Conflicts:
#	src/main/java/com/moabam/api/application/member/MemberService.java
#	src/main/java/com/moabam/api/application/notification/NotificationService.java
#	src/test/java/com/moabam/api/application/member/MemberServiceTest.java
โ€ฆto feature/#163-ranking-system

# Conflicts:
#	src/main/java/com/moabam/global/config/EmbeddedRedisConfig.java
โ€ฆto feature/#209-admin-login

# Conflicts:
#	src/main/resources/config
โ€ฆto fix/#224-admin-token-fix

# Conflicts:
#	src/main/resources/config
โ€ฆto fix/#224-admin-token-fix

# Conflicts:
#	src/main/java/com/moabam/api/application/room/RoomService.java
@parksey parksey added the ๐Ÿ€ BE ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ์˜ ์ž‘์—… label Dec 3, 2023
@parksey parksey added the ๐Ÿ› fix ๋ฒ„๊ทธ ์ˆ˜์ • ์ž‘์—… label Dec 3, 2023
@parksey parksey self-assigned this Dec 3, 2023
Copy link

sonarcloud bot commented Dec 3, 2023

SonarCloud Quality Gate failed.ย  ย  Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 5 Code Smells

70.3% 70.3% Coverage
0.0% 0.0% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@parksey parksey merged commit eaaad58 into develop Dec 3, 2023
2 of 3 checks passed
@parksey parksey deleted the fix/#224-admin-token-fix branch December 3, 2023 05:38
Shin-Jae-Yoon added a commit that referenced this pull request Dec 3, 2023
* chore: sonarcloud ๋ฐ jacoco ์„ธํŒ…

* chore: checkstyle ์„ธํŒ…

* chore: gitignore ์ˆ˜์ •

* docs: PR ํ…œํ”Œ๋ฆฟ ์ˆ˜์ •

* feat: ๊ณตํ†ต๋œ ํด๋ž˜์Šค ์ถ”๊ฐ€ ์ž‘์—… (#4)

* feat: Exception ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Config ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Entity ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* fix: intellij-formatter line-separator (#10)

* feat: ํšŒ์› Authorization Grant์™€ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ƒ์„ฑ, ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#20)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#21)

* feat: Bug ์ž„๋ฒ ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* docs: PR merge ์‹œ, Issue ์ž๋™ close๋กœ ์ˆ˜์ •

* refactor: ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ์ž id ํฌํ•จ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* style: dto ๋‚ด bug ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

* test: Bug ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ

* style: ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ controller ํ…Œ์ŠคํŠธ

* refactor: private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* test: ๋ฉค๋ฒ„ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฒŒ๋ ˆ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฉค๋ฒ„ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ์— Bug ์ถ”๊ฐ€

* fix: code smell ์ œ๊ฑฐ

* style: BugMapper ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์— ParameterizedTest ์ ์šฉ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#22)

* fix: SQL syntax ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํ’ˆ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* feat: Authorization Server๋กœ ๋ถ€ํ„ฐ ํ† ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#24)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#26)

* feat: Redis ์ดˆ๊ธฐ ์„ค์ •

* feat: FCM ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ์„œ๋น„์Šค ๋ฐ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„

* fix: Redis Reposi ์ถ”์ƒ ํด๋ž˜์Šค ์ œ๊ฑฐ ๋ฐ ํ…Œ์ŠคํŠธ Profile ๋ณ€๊ฒฝ

* test: StringRedisRepository ํ…Œ์ŠคํŠธ

* test: NotificationRepository ํ…Œ์ŠคํŠธ

* feat: NullPointerException ์˜ˆ์™ธ ํ•ธ๋“ค๋ง ์ฒ˜๋ฆฌ

* test: NotificationService ํ…Œ์ŠคํŠธ

* refacotr: PostConstruct๋ฅผ Bean์œผ๋กœ ๋ณ€๊ฒฝ

* refactor : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Profile ๋ณ€๊ฒฝ

* fix: redis ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* fix : Redis ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : Member Role Default ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: firebase config ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* fix: ์—๋Ÿฌ ์ฐพ๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ์„ค์ •

* fix: CI๊ฐ€ ์„œ๋ธŒ๋ชจ๋“ˆ ๊ฒฝ๋กœ๋ฅผ ๋ชป์ฐพ๋Š” ์—๋Ÿฌ ํ•ด๊ฒฐ

* test: Redis Repository ํ…Œ์ŠคํŠธ ๋ฐ ๋กœ๊ทธ ์‚ญ์ œ

* style: ๋ฉ”์„œ๋“œ๋ช… ๋ฐ ์ค„๋ฐ”๊ฟˆ ์„ค์ •

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์ €์žฅ ์‹œ, ํ‚ค๊ฐ’ ๋ฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#28)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* chore: Apache Commons Lang ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: test yml JPA ๋กœ๊ทธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ตฌํ˜„ ๋งˆ๋ฌด๋ฆฌ

* fix: Morning -> Night ์ˆ˜์ •

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ID๋กœ ์กด์žฌ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์˜คํƒ€ ์ˆ˜์ •

* fix: ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ถˆ๊ฐ€ ํ•ด๊ฒฐ

* fix: CI ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋ฐฉ ์ˆ˜์ •์— ํ•„์š”ํ•œ ํ•„๋“œ ์ถ”๊ฐ€ (#36)

* feat: ec2 dev ์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„ (#40)

* chore: submodule ์—…๋ฐ์ดํŠธ

* feat: docker-compose ํŒŒ์ผ ์„ธํŒ…

* feat: nginx ํ…œํ”Œ๋ฆฟ ์„ค์ •

* feat: Dockerfile ์„ค์ •

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ž‘์„ฑ

* feat: HealthCheckController ๊ตฌํ˜„

* chore: build.gradle ์ปค๋ฒ„๋ฆฌ์ง€ ํ•ญ๋ชฉ ์ œ์™ธ ์ถ”๊ฐ€

* feat: github actions ci, cd ์ž‘์„ฑ

* style: ci ํŒŒ์ผ ์˜คํƒ€ ์ˆ˜์ •

* hotfix: submodule mysql ์ˆ˜์ •

* feat: social ํšŒ์› ํ† ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#37)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* fix: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#41)

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ, ์ธ๋ฒคํ† ๋ฆฌ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: containsExactly ๊ฒ€์ฆ์œผ๋กœ ์ˆ˜์ •

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Service ํ…Œ์ŠคํŠธ

* test: ์ธ๋ฒคํ† ๋ฆฌ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: Stream ์œ ํ‹ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: ItemFixture๋ฅผ ํ†ตํ•œ ์•„์ดํ…œ ์ƒ์„ฑ ์‹œ build() ์ถ”๊ฐ€

* test: ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: MethodArgumentTypeMismatchException handler ์ถ”๊ฐ€

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* fix: Mapper ์ƒ์„ฑ์ž ์ ‘๊ทผ ๋ ˆ๋ฒจ private์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ItemType ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* refactor: ์ž˜๋ชป๋œ ์š”์ฒญ ํƒ€์ž… ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ƒ์ˆ˜ํ™”

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„ (feat. RestDoc, Embedded Redis) (#43)

* feat: RestDoc ๊ธฐ๋ณธ ์„ค์ •

* feat: Embedded Redis ํ™˜๊ฒฝ ๊ตฌ์ถ•

* style: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ ๋ฐ ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ํ‚ค ์ƒ์„ฑ ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: redis docker ์ฃผ์„ ์ฒ˜๋ฆฌ

* chore: dump.rdb ์‚ญ์ œ

* chore: develop-cd Redis ์ฃผ์„์ฒ˜๋ฆฌ

* style: ์ฃผ์„ ์‚ญ์ œ

* style: Constant ๋ถ„๋ฆฌ

* refacotr: String.format์„ ํ™œ์šฉํ•ด Knock Key ์ƒ์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#44)

* refactor: Mapper ํด๋ž˜์Šค ์„ ์–ธ ํ†ต์ผ

* refactor: service, mapper ์ˆ˜์ •

* fix: Room nullable๋กœ ์ˆ˜์ •

* chore: highlight sql ์„ค์ • ์ถ”๊ฐ€

* feat: ๋ฐฉ๊ณผ ๊ฐ ๋ฐฉ์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์—ฌ๋ถ€ ์ €์žฅ์„ ์œ„ํ•œ Entity ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ์— ํ•„์š”ํ•œ DTO, Mapper ์ถ”๊ฐ€

* feat: ๋ฐฉ์žฅ ์ •๋ณด ๋ถ€๋ฅด๋Š” querydsl

* feat: ์ธ์ฆ์— ๋Œ€ํ•œ ์ •๋ณด Mapper, querydsl ์ถ”๊ฐ€

* feat: Participant, Routine ์ˆ˜์ •, Search querydsl ์ž‘์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ service, controller

* test: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: checkstyle ์ˆ˜์ •

* feat: ์•„์ดํ…œ ์ ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#45)

* feat: ์•„์ดํ…œ ์ ์šฉ API ๊ตฌํ˜„

* test: ์•„์ดํ…œ ์ ์šฉ Service ํ…Œ์ŠคํŠธ

* test: Controller ํ…Œ์ŠคํŠธ @WebMvcTest๋กœ ๋ณ€๊ฒฝ

* test: ์•„์ดํ…œ ์ ์šฉ Controller ํ…Œ์ŠคํŠธ

* style: support ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* test: RepositoryTest ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋™์ผ ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ Nested๋กœ ์ฒ˜๋ฆฌ

* feat: ํ˜„์žฌ ์ ์šฉ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ ์‹œ ์•„์ดํ…œ ํƒ€์ž… ์ •๋ณด ์ถ”๊ฐ€

* test: ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* fix: merge conflict ํ•ด๊ฒฐ

* test: given-willReturn ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#49)

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๋ถ€๋ถ„ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Mapper ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ˆ˜์ •

* refactor: createRoom roomId ๋ฐ˜ํ™˜ํ•˜๋„๋ก refactor

* feat: ํšŒ์› ์ƒ์„ฑ ๋ฐ ๋กœ๊ทธ์ธ ์‘๋‹ต ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#47)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#50)

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋„์ž…

* test: ์ธ์ฆํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Restdoc ํŒŒ์ผ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: checkstyle ์ˆ˜์ •

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: config update (#51)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#53)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#54)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ๊ด€๋ จ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค API ๊ตฌํ˜„

* refactor: Bug -> Wallet ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: Bug๋กœ ๋„ค์ด๋ฐ ์žฌ์ˆ˜์ •

* refactor: Entity ์ƒ์„ฑ ๋กœ์ง Mapper๋กœ ์ด๋™

* fix: isDefault nullable ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ๋ ˆ๋ฒจ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ์ˆ˜์ •

* test: ์•„์ดํ…œ ๊ตฌ๋งค Service ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ Entity ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ Entity ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ ๊ตฌ๋งค Controller ํ…Œ์ŠคํŠธ

* style: decrease๋กœ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ํ•ด๋‹น ๋ฒŒ๋ ˆ ํƒ€์ž…์˜ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: Table ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#57)

* feat: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ์„ค๊ณ„

* test: Coupon Entity ํ…Œ์ŠคํŠธ

* refactor: ์ดˆ๊ธฐ๊ฐ’ 0์—์„œ 1๋กœ ์ง€์ •

* feat: ์ฟ ํฐ ์ข…๋ฅ˜์— ๋Œ€ํ•œ ์กฐํšŒ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์ปฌ๋Ÿผ์œผ๋กœ ๊ด€๋ฆฌ์ž ์•„์ด๋”” ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž์˜ ์ฟ ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: test ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* fix: CheckStyle ์ˆ˜์ •

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* feat: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#60)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* refactor: type -> couponType์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์กฐํšŒ ๋ฐ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ฟผ๋ฆฌ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐ CouponResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* fix: ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ž˜๋ชป๋œ ์ฟผ๋ฆฌ ์ˆ˜์ •

* test: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› annotation ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต (#62)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฃจํ‹ด ์ธ์ฆ ๋ฐ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#63)

* feat: ์„œ๋ฒ„ ์‹œ๊ฐ„ ์ฒดํฌ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* feat: ๋ฃจํ‹ด ์ธ์ฆ ๊ธฐ๋Šฅ ๋ฐ ClockHolder ๊ตฌํ˜„

* feat: UrlSubstringParser ๊ตฌํ˜„

* test: ๋ฃจํ‹ด ์ธ์ฆ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ๋ฐฉ ๊ณต์ง€ ๊ธธ์ด ์ˆ˜์ •

* feat: constant ๋ฐ error ์ž‘์„ฑ

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ

* chore: build.gradle s3 ์ถ”๊ฐ€

* Merge branch 'develop' into feature/#8-upload-image

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: CertificationsSearchRepository ํ…Œ์ŠคํŠธ

* chore: s3Manager ์ปค๋ฒ„๋ฆฌ์ง€ ์ œ์™ธ

* refactor: UrlParser ์ฝ”๋“œ์Šค๋ฉœ ์ œ๊ฑฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>

* feat: healthCheck path ์ถ”๊ฐ€ (#66)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* Revert "feat: healthCheck path ์ถ”๊ฐ€ (#66)" (#71)

This reverts commit baf4703.

* fix: config ์ตœ์‹ ํ™” (#72)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* fix: config ๋ณ€๊ฒฝ

* refactor: merge ๋ณ€๊ฒฝ

* refactor: ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#73)

* refactor: ๋ฐฉ ๊ด€๋ จ ์„œ๋น„์Šค ๋ถ„๋ฆฌ (#79)

* chore: gitignore ์ถ”๊ฐ€

* refactor: Room ๊ด€๋ จ Service ๋ถ„๋ฆฌ

* ๏ฟฝfeat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#81)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#80)

* feat: ์˜ค๋Š˜ ์–ป์€ ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ์ฟผ๋ฆฌ 1๋ฒˆ์œผ๋กœ ์ˆ˜์ •

* feat: @CurrentMember ์ ์šฉ

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* test: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* test: memberService mock ์ฒ˜๋ฆฌ

* chore: enum ๋น„๊ต equals๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ Authorization Member ์ ์šฉ ๏ฟฝ๋ฆฌํŒฉํ„ฐ๋ง (#82)

* refactor: Coupon์— Authorization Member ์ ์šฉ

* test: Authorization Member ์ ์šฉ๋œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ

* fix: ์ธํ”„๋ผ ci/cd ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#84)

* feat: nginx conf ์ˆ˜์ • ๋ฐ ๋ถ„๋ฆฌ

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ถ”๊ฐ€

* feat: docker-compose nginx volume ์ˆ˜์ •

* feat: ci, cd ํŒŒ์ผ ์ˆ˜์ •

* feat: dev ์„œ๋ฒ„ ํ”„๋ก ํŠธ

* chore: config ์—…๋ฐ์ดํŠธ

* chore: code smell ์ œ๊ฑฐ

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#86)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: nginx conf

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ์•„์ดํ…œ/์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง ๋ฐ @CurrentMember ์ ์šฉ  (#87)

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ์— @CurrentMember ์ ์šฉ

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* test: ์„ฑ๊ณต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* hotfix: kakao path ์ œ์™ธ ์ถ”๊ฐ€

* refactor: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ @CurrentMember ์ ์šฉ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง (#89)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: BugSearchRepository ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: RoomController @CurrentMember ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* style: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#90)

* feat: ํ† ํฐ redis ์ €์žฅ (#91)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: null ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: config ์ˆ˜์ •

* refactor: merge confilt ์ˆ˜์ •

* refacotr: code smell ๋กœ์ง ๋ณ€๊ฒฝ

* fix: config ์ˆ˜์ • (#98)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ (#95)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* hotfix: redis config ํŒŒ์ผ ์ˆ˜์ •

* refactor: ๋ฒŒ๋ ˆ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#97)

* refactor: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ์กฐํšŒ API URL ๋ณ€๊ฒฝ

* style: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Response์— ํ˜„์žฌ ์ ์šฉ๋œ ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ (#100)

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ์‹œ defaultItemId ์†์„ฑ ์ถ”๊ฐ€

* test: default ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ ๋ฐ˜์˜

* style: TodayBugResponse ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#101)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ flush() ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ dto ๊ตฌํ˜„

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: ymkim97 <[email protected]>

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ (#102)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* hotfix: config update

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#105)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#107)

* feat: ๊ฒฐ์ œ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค API ๊ตฌํ˜„

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์ฟ ํฐ ์ ์šฉ ํ…Œ์ŠคํŠธ

* test: ์ฃผ๋ฌธ ์ƒ์„ฑ ๋ฐ ๊ธˆ์•ก ํ• ์ธ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ ๋ฐ ์ฆ๊ฐ€ ๋กœ์ง ๊ฒ€์ฆ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* fix: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ์ฃผ๋ฌธ id ์ œ๊ฑฐ

* feat: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ๊ฒฐ์ œ id ์ถ”๊ฐ€

* fix: Transactional ์ ์šฉ

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#113)

* style: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ์ „ ๋Œ€๊ธฐ ์ƒํƒœ ์ถ”๊ฐ€

* feat: ๊ฒฐ์ œ ์š”์ฒญ API ๊ตฌํ˜„

* fix: Valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์š”์ฒญ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์š”์ฒญ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ/์ฃผ๋ฌธ ์œ ๋‹› ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#114)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Syntax ์—๋Ÿฌ๋กœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ž„์‹œ Disabled ์ฒ˜๋ฆฌ

* fix: Redis Yaml ์ถ”๊ฐ€ ์„ค์ •

* test: ์ค‘๋ณต ์ €์žฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: SystemClockHolder -> ClockHolder ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ณ€๊ฒฝ (#117)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ธ ๋ชฉ๋ก ์กฐํšŒ ๋‚ ์งœ๋ณ„ ์กฐํšŒ๋กœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋ฐฉ์ด ์ธ์ฆ๋œ ๋‚ ์งœ๋“ค์€ ์กฐํšŒํ•˜๋Š” ์œ ์ €์˜ ๋‚ ์งœ์—์„œ ์ผ์ฃผ์ผ ์ „๊นŒ์ง€ ๊ฐ€์ ธ์˜ด

* refactor: ์‚ฌ์šฉ์ž์˜ ์ฐŒ๋ฅด๊ธฐ ํ™•์ธ ๊ธฐ๋Šฅ ์ˆ˜์ •

* feat: ์‚ฌ์šฉ์ž๋ณ„ ์ฝ•์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€ ํ™•์ธ ์ถ”๊ฐ€

* feat: Response์— ์š”์ฒญ์ž์˜ memberId ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API(/members/login/kakao/oauth) Get -> Post ๋ณ€๊ฒฝ (#118)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* feat: Get์—์„œ Post๋กœ ๋ณ€๊ฒฝ

* refactor: CookieUtils ๋ณ€๊ฒฝ

* feat: config ๋ณ€๊ฒฝ

* fix: merge confilt ํ•ด๊ฒฐ

* feat: Cookie secure ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฐฉ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#121)

* feat: ๊ฒ€์ƒ‰ Native Query ์ž‘์„ฑ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* test: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž… ํ†ต์ผํ™”

* refactor: controller ํƒ€์ž… ์ˆ˜์ •

* style: ์ฟ ํฐ ๋ฐ ๋…ธ์…˜ ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#122)

* ๏ฟฝfeat: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#128)

* fix: ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ›„ ์ธ์ฆ ์ˆ˜ ์ฆ๊ฐ€ ์ถ”๊ฐ€

* feat: ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค, Dto, Mapper ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ • (#129)

* refactor: ๊ฒฐ์ œ ๊ธˆ์•ก ์ปฌ๋Ÿผ Payment๋กœ ์ด๋™

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ

* feat : ํšŒ์› ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#131)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* ๏ฟฝfeat: Fcm Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#132)

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* refactor: Knock, Fcm ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* style: Coupon ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: Fcm Token null, blank ์ฒ˜๋ฆฌ

* docs: ์ฟ ํฐ ์ €์žฅ์— ๋Œ€ํ•œ RestDoc ์ถ”๊ฐ€

* refactor: AuthMember ์ ์šฉ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: submodule config ๋ณ€๊ฒฝ

* feat: CouponWallet ์—”ํ‹ฐํ‹ฐ & ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„ (#134)

* refactor : ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ๋ณ€๊ฒฝ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ (#136)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* refactor: Sub module Update

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ (#139)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ CouponWallet ์ ์šฉ (#141)

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* fix: ๋ณด์œ ํ•œ ์ฟ ํฐ ์กฐํšŒ ์‹œ fetch join ์ ์šฉ

* test: ์ฟ ํฐ ์ง€๊ฐ‘ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feature: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#142)

* feat: ์ƒˆ ์Šคํ‚จ ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: jpa๊ด€๋ จ config ์„ค์ •

- ๋ฒ„์ „ ํ˜ธํ™˜์˜ค๋ฅ˜๋กœ ์ธํ•œ ๊ธฐ๋ณธ Template์„ค์ •

* feat: ๊ธฐ๋ณธ ์ƒˆ ์Šคํ‚จ ์กฐํšŒ query ์ถ”๊ฐ€

* feat: ํšŒ์›๊ณผ ๋ฒŒ๋ ˆ์— ๋Œ€ํ•œ ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ API ์ถ”๊ฐ€

* style: ๋ฉ”์„œ๋“œ ์ ‘๊ทผ ์ œ์–ด์ž์— ๋”ฐ๋ฅธ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: inventorySearchService ์ œ๊ฑฐ ํ›„ memberService์—์„œ repository ์ถ”๊ฐ€

* refactor: transform์—์„œ stream์œผ๋กœ ๋™์ž‘ ๋ณ€๊ฒฝ

* style: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: nginx ์„ค์ • ํŒŒ์ผ ๋ฆฌํฌ๋งทํŒ…

* hotfix: CorsFilter ์ถ”๊ฐ€

* refactor: ๋ฐฉ/๋ฃจํ‹ด ์ „์ฒด ๋ฆฌํŒฉํ† ๋ง (#143)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: merge ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ

* refactor: ParticipantMapper ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๋ฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์šฉ์ž ์ฟ ํฐ ๋ฐœ๊ธ‰ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ (#146)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ์ ‘๊ทผ ์ œ์–ด์ž, ๋ฉ”์„œ๋“œ๋ช…, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#148)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* refactor: LocalDate ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#149)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐํ•จ ์กฐํšŒ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์ €์žฅ์†Œ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: temporal ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: Stream ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ์ถ”๊ฐ€ (#151)

* fix: cors api ์š”์ฒญ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • APi ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ๋ฐ˜์˜

- ์ผ์‹œ์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ
- ํšŒ์› null๊ฐ’์— ๋Œ€ํ•œ ์˜ˆ์™ธ Objects๋กœ ๋ณ€๊ฒฝ
- ErrorMessage ๋ณ€๊ฒฝ
- ํ…Œ์ŠคํŠธ ์ฝ”๋“œ CsvSource null๊ฐ’ ์ ์šฉ

* refactor: null์ฒดํฌ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์–ด์ˆœ ๋ณ€๊ฒฝ

* feat: ๊ฒฐ์ œ ์Šน์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#154)

* feat: order_id ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค ์„ค์ •

* chore: webflux ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ์Šค ๊ฒฐ์ œ ์œ„์ ฏ ์Šน์ธ API ์—ฐ๋™

* feat: ๊ฒฐ์ œ ์Šน์ธ API ๊ตฌํ˜„

* feat: ๊ฒฐ์ œ ํ…Œ์ด๋ธ”์— couponWalletId ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์Šน์ธ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* feat: ๊ฒฐ์ œ ์Šน์ธ ์‹œ ์ฟ ํฐ ์ฐจ๊ฐ ๋ฐ ๋ฒŒ๋ ˆ ์ถฉ์ „ ๋กœ์ง ์ถ”๊ฐ€

* fix: ์ฟ ํฐ์ด ์ ์šฉ๋œ ๊ฒฝ์šฐ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* chore: config ์—…๋ฐ์ดํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* chore: MockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ํ…Œ์ŠคํŠธ

* fix: checkStyle ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ณตํ†ต ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ถฉ์ „ ์‹œ ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€

* style: ์ค‘๋ณต ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#155)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: Response ๋ถ„๋ฆฌ

* style: ์ค„๋ฐ”๊ฟˆ ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ (#157)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Room version ์‚ญ์ œ

* fix: ์ฝ”๋“œ ์ˆ˜์ •

* feat: Image Type ์ถ”๊ฐ€

---------

Co-authored-by: Dev Uni <[email protected]>

* hotfix: develop-cd docker ์ถ”๊ฐ€

* feat: ๋ฐฉ/ํšŒ์›/์ธ์ฆ ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#158)

* test: ์‚ญ์ œ๋œ ํšŒ์› ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ํšŒ์› ์กฐํšŒ ๋ณ€๊ฒฝ

* feat: ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์‹ ๊ณ  ๊ธฐ๋Šฅ ๋กœ์ง ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์‹ ๊ณ  api ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ„ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐ index ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: CsvSource null ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

* hotfix: config ์—…๋ฐ์ดํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#160)

* Merge branch 'develop' into feature/#75-use-coupon

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์—์„œ ํŠน์ • ํšŒ์›์˜ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์— ์žˆ๋Š” ์ฟ ํฐ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* test: RestDoc ์—…๋ฐ์ดํŠธ

* refactor : ๊ฒฐ์ œ ์ฟ ํฐ ์‚ฌ์šฉ ํ†ตํ•ฉ

* Submodule update

* test: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ถ”๊ฐ€

* feat: ๋ฏธ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ (#161)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ, ์ฐธ์—ฌ ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ๋ถ€๋ฅด๊ธฐ ์ปจํŠธ๋กค๋Ÿฌ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณด์™„

* fix: memberId ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ ๋ณ€๊ฒฝ

* refactor: redirection -> boolean์œผ๋กœ ๋ณ€๊ฒฝ

* fix: Search ์ฟผ๋ฆฌ ์ˆ˜์ •

---------

Co-authored-by: Dev Uni <[email protected]>

* fix: noskin image ๋ณ€๊ฒฝ (#162)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* feat: ๋ฒŒ๋ ˆ ๋ณด์ƒ/์ถฉ์ „/์‚ฌ์šฉ ์‹œ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€ (#165)

* refactor: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* refactor: ๋ฒŒ๋ ˆ ๋ณด์ƒ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* test: ์•„์ดํ…œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: BugService Mock ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ/์ถฉ์ „/๋ณด์ƒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* fix: ๋ถˆํ•„์š”ํ•œ Mock ์ œ๊ฑฐ

* feat: ์•„์ดํ…œ ์ด๋ฏธ์ง€ ๋ฒ„์ „ ์ถ”๊ฐ€ ๋ฐ ๋ฐฉ ๋ฐฐ๊ฒฝ ์—…๋ฐ์ดํŠธ (#167)

* refactor: ์•„์ดํ…œ ํ…Œ์ด๋ธ”์— awakeImage, sleepImage ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ๋ฐฉ ๋ ˆ๋ฒจ์—… ์‹œ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ˆ˜์ •

* chore: ์ด๋ฏธ์ง€ URL์— ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ

* fix: no skin image ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#168)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* test: @BeforeAll Transaction์ ์šฉ ์‹คํŒจ๋กœ ์ธํ•œ merge ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค ์ถ”๊ฐ€

* test: ๊ธฐ๋ณธ URL ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ

* hotfix: schema, item ๋“ฑ๋ก

* hotfix: config ์ˆ˜์ •

* hotfix: sql ์—…๋ฐ์ดํŠธ

* hotfix: item inventory ์ฟผ๋ฆฌ ์ˆ˜์ •

* hotfix: config admin key ์—…๋ฐ์ดํŠธ

* hotfix: config sql init none

* hotfix: config sql init never

* refactor: ์‹ค์‹œ๊ฐ„ ์„ ์ฐฉ์ˆœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#169)

* refactor: ZSET popMin -> range๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๊ด€๋ฆฌ ์ €์žฅ์†Œ popMin -> range๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ฒฐ๊ณผ FCM ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ZSET size ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ฒดํฌ ์Šคํƒ€์ผ ์ˆ˜์ •

* fix: Import ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ก ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ํฌ๊ธฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์‚ญ์ œ

* refactor: addIfAbsent ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ๋ ˆ๋””์Šค SORTED SET ๋ช…๋ น์–ด ํ…Œ์ŠคํŠธ Disabled

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๋ฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ์ฟ ํฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url (#173)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* hotfix: sql init ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: docker-compose mysql

* hotfix: docker-compose mysql

* fix: ๋ฐฉ์žฅ ์ž์‹ ์— ๋Œ€ํ•œ ์ถ”๋ฐฉ ๋ฒ„๊ทธ (#177)

* fix: ๋ฐฉ์žฅ ์ž์‹  ์ถ”๋ฐฉ ๋ชปํ•˜๋„๋ก validate ์ถ”๊ฐ€

* feature: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ์— ๋ฐฉ์žฅ ID ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝ

* Fix/#175 fix member delete error (#178)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„  (#180)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* fix: ์•„์ดํ…œ ์„ ํƒ ์‹œ ๋ฉค๋ฒ„ ๊ธฐ๋ณธ ์Šคํ‚จ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ (#182)

* style: FCM Token Log ์ƒ์„ฑ (#183)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* style: fcm token log

* fix: ๋ฐฉ์žฅ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ฝ”๋“œ ์ˆ˜์ • (#184)

* hotfix: ์ธ์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: ๋ฐฉ์žฅ ๋ฐฉ ์‚ญ์ œ ๋ฒ„๊ทธ

* fix: fcm ํ† ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#185)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: fcm ํ† ํฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* style: ํ•„์š”์—†๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ์ฐธ์—ฌ์ž ์—…๋ฐ์ดํŠธ

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#188)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ throw

* test: ๊ฒฐ์ œ ์Šน์ธ ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* fix: ํ† ์Šค ์Šน์ธ API ์š”์ฒญ ์‹œ Basic ์ธ์ฆ ํ—ค๋”๋กœ ๋ณ€๊ฒฝ

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#193)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์„ฑ๊ณต/์‹คํŒจ ์‹œ ๊ฒฐ๊ณผ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#194)

* fix: ๊ฒฐ์ œ ์ •๋ณด ๊ฒ€์ฆ ๋ฐ ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ๋กœ์ง ํŠธ๋žœ์žญ์…˜ ๋ถ„๋ฆฌ

* test: ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ranking system ๊ตฌํ˜„ (#189)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* fix: record๋ฅผ class๋กœ ๋ฐ”๊ฟ”์„œ ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ (#195)

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* fix: record๋ฅผ class๋กœ ๋ฐ”๊พธ๊ณ  ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ

* fix: approvedAt ์ œ๊ฑฐ (#197)

* fix: ๋ฒŒ๋ ˆ 0๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ ๋‚ด์—ญ ์ €์žฅ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ • (#199)

* chore: ๊ฒฐ์ œ ์‹คํŒจ ์ฒ˜๋ฆฌ ๋กœ์ง์— Transactional ์ ์šฉ

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด์— ๋ฐฉ ์ƒ์„ฑ ๋‚ ์งœ์‹œ๊ฐ„ ์ถ”๊ฐ€ (#201)

* fix: ObjectMapper ์ˆ˜์ • (#202)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝrefactor: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€๊ฒฝ (#203)

* refactor: ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ Body ๋ณ€๊ฒฝ

* refactor: FCM ์•Œ๋ฆผ ํ˜•์‹ ๋ณ€๊ฒฝ

* fix: ObjectMapper ์‚ญ์ œ ์‹คํŒจ ์ˆ˜์ • (#204)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๋ฐ item-data ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#206)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#207)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#208)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* fix: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: nginx ๋กœ๊น… ์ถ”๊ฐ€

* feat: actuator ์™ธ๋ถ€ ์ฐจ๋‹จ

* hotfix: Dockerfile copy ์ˆ˜์ •

* hotfix: deploy-cd Dockerfile ๊ฒฝ๋กœ ์ˆ˜์ •

* hotfix: deploy-cd ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* hotfix: nginx ๋กœ๊น… docker-compose ์—ฐ๊ฒฐ

* hotfix: String to Long Error ์ˆ˜์ •

* fix: MaxUploadSizeExceededException ์˜ˆ์™ธ ๋˜์ง€๊ธฐ (#212)

* fix: 0์‹œ ์ธ์ฆ ๋ฐฉ์—์„œ ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#213)

* fix: 0์‹œ ์ธ์ฆํƒ€์ž„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: nginx client ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ ์ˆ˜์ •

* hotfix: ์ฟ ํฐํ ๋น„์–ด์žˆ์„ ์‹œ, ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํšŸ์ˆ˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์Šค์›จ๊ฑฐ ๋„์ž…

* hotfix: ์Šค์›จ๊ฑฐ ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#215)

* chore: ๊ธฐ๋ณธ ์ƒ์  ์ƒํ’ˆ ์ฟผ๋ฆฌ ์ˆ˜์ •

* chore: slack api client ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„

* chore: slack webhook url config ์ถ”๊ฐ€

* fix: build ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋ฐฉ ์ˆ˜์ •์—์„œ ๋ฃจํ‹ด ์ˆ˜์ • ์ œ์™ธ (#217)

* feat: admin login (#216)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: mysql ํ…Œ์ด๋ธ” init ์—…๋ฐ์ดํŠธ

* hotfix: config ์—…๋ฐ์ดํŠธ

* hotfix: 00์‹œ ์ธ์ฆ ํƒ€์ž„ ์ˆ˜์ •

* refactor: ๋ฐฉ ์ธ์ฆ ๊ธฐํš ๊ด€๋ จ ์ˆ˜์ • (#219)

* refactor: ๋ฐฉ ์ธ์ฆ ์‹œ๊ฐ„ ์ •๊ฐ๋ถ€ํ„ฐ 10๋ถ„๊นŒ์ง€๋กœ ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž ์ค‘ ํ•œ๋ช… ์ด์ƒ์ด ์ธ์ฆ ํ–ˆ์„ ์‹œ ๋ฐฉ ์‹œ๊ฐ„ ์ˆ˜์ • ๋ชปํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* ๏ฟฝfix: ์ธ์ฆ๋œ ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ํ›„ ๋ฐฉ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#221)

* fix: ์ธ์ฆํ•˜๊ณ  ๋‚˜๊ฐ„ ์ฐธ์—ฌ์ž ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

* fix: ์ธ์ฆ๋œ ๋ฐฉ์ด ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* fix: ๋ฐฉ์˜ ์ธ์ฆ ์‹œ๊ฐ„์—๋Š” ์ž…์žฅํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ˆ˜์ • (#223)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ (#226)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ

* docs: mysql ์ˆ˜์ •

* fix: checkstyle

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์ด ๋ณต์‚ฌ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#228)

* hotfix: distinct ์ถ”๊ฐ€

* fix: ๊ธฐ์—ฌ๋„ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#230)

* fix: admin token (#231)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝfix: ์ธ์ฆ์œจ ํ•˜๋ฝ ๋ฒ„๊ทธ ์ˆ˜์ • (#233)

* refactor: ์ฝ”๋“œ ์ •๋ฆฌ

* fix: ์ธ์ฆ์œจ ํ•˜๋ฝ ์ˆ˜์ •

* fix: admin token fix (#234)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ์„ค์ • ์˜ค๋ฅ˜ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ธฐ๋Šฅ rollback

* feat: ์—๋Ÿฌ ๋กœ๊ทธ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#237)

* chore: logback slack appender ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ํŒŒ์ผ ์ž‘์„ฑ

* fix: admin token fix (#235)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ฒ„ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ๋„๋ฉ”์ธ ๊ด€๋ จ SameSite๋ฅผ None์œผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* fix: date equals ์ ์šฉ (#239)

* feat: exception AOP ๋กœ๊ทธ ์ถ”๊ฐ€ (#241)

* feat: ExceptionHandler AOP ์ ์šฉ

* refactor: ์ˆ˜์ •

* refactor: checkstyle ์ ์šฉ

* refactor: ๋ฐฉ, filter, aop ์ˆ˜์ • (#243)

* fix: ๋ฐฉ ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ, AOP ์ˆ˜์ •

* hotfix: date equals ์ ์šฉ

* fix: ํšŒ์› ์‚ญ์ œ์— ๋Œ€ํ•œ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ

* feat: sql ์ˆ˜์ •

* refactor: ๋ฒณ์ง€ init sql ์ˆ˜์ •

* refactor: ๋ฐฉ ์ด๋ฏธ์ง€ ์ •๋ณด ๋ณ€๊ฒฝ

* fix: ๋ฐฉ์˜ exp ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* hotfix: ํšŒ์› ์‚ญ์ œ ๋กœ์ง ๋ณ€๊ฒฝ

* hotfix: ๋žญํ‚น ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ๋ฐฉ ์กฐํšŒ ์ˆ˜์ •

* feat: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„

* fix: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ cd ์ˆ˜์ •

* fix: log AOP ์ œ๊ฑฐ ๋ฐ SlackExceptionHandler ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

---------

Co-authored-by: Kim Heebin <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>
Co-authored-by: Park Seyeon <[email protected]>
Co-authored-by: ํ™ํ˜์ค€ <[email protected]>
Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: HyuckJuneHong <[email protected]>
Shin-Jae-Yoon added a commit that referenced this pull request Dec 3, 2023
* chore: sonarcloud ๋ฐ jacoco ์„ธํŒ…

* chore: checkstyle ์„ธํŒ…

* chore: gitignore ์ˆ˜์ •

* docs: PR ํ…œํ”Œ๋ฆฟ ์ˆ˜์ •

* feat: ๊ณตํ†ต๋œ ํด๋ž˜์Šค ์ถ”๊ฐ€ ์ž‘์—… (#4)

* feat: Exception ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Config ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Entity ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* fix: intellij-formatter line-separator (#10)

* feat: ํšŒ์› Authorization Grant์™€ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ƒ์„ฑ, ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#20)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#21)

* feat: Bug ์ž„๋ฒ ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* docs: PR merge ์‹œ, Issue ์ž๋™ close๋กœ ์ˆ˜์ •

* refactor: ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ์ž id ํฌํ•จ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* style: dto ๋‚ด bug ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

* test: Bug ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ

* style: ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ controller ํ…Œ์ŠคํŠธ

* refactor: private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* test: ๋ฉค๋ฒ„ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฒŒ๋ ˆ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฉค๋ฒ„ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ์— Bug ์ถ”๊ฐ€

* fix: code smell ์ œ๊ฑฐ

* style: BugMapper ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์— ParameterizedTest ์ ์šฉ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#22)

* fix: SQL syntax ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํ’ˆ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* feat: Authorization Server๋กœ ๋ถ€ํ„ฐ ํ† ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#24)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#26)

* feat: Redis ์ดˆ๊ธฐ ์„ค์ •

* feat: FCM ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ์„œ๋น„์Šค ๋ฐ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„

* fix: Redis Reposi ์ถ”์ƒ ํด๋ž˜์Šค ์ œ๊ฑฐ ๋ฐ ํ…Œ์ŠคํŠธ Profile ๋ณ€๊ฒฝ

* test: StringRedisRepository ํ…Œ์ŠคํŠธ

* test: NotificationRepository ํ…Œ์ŠคํŠธ

* feat: NullPointerException ์˜ˆ์™ธ ํ•ธ๋“ค๋ง ์ฒ˜๋ฆฌ

* test: NotificationService ํ…Œ์ŠคํŠธ

* refacotr: PostConstruct๋ฅผ Bean์œผ๋กœ ๋ณ€๊ฒฝ

* refactor : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Profile ๋ณ€๊ฒฝ

* fix: redis ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* fix : Redis ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : Member Role Default ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: firebase config ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* fix: ์—๋Ÿฌ ์ฐพ๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ์„ค์ •

* fix: CI๊ฐ€ ์„œ๋ธŒ๋ชจ๋“ˆ ๊ฒฝ๋กœ๋ฅผ ๋ชป์ฐพ๋Š” ์—๋Ÿฌ ํ•ด๊ฒฐ

* test: Redis Repository ํ…Œ์ŠคํŠธ ๋ฐ ๋กœ๊ทธ ์‚ญ์ œ

* style: ๋ฉ”์„œ๋“œ๋ช… ๋ฐ ์ค„๋ฐ”๊ฟˆ ์„ค์ •

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์ €์žฅ ์‹œ, ํ‚ค๊ฐ’ ๋ฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#28)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* chore: Apache Commons Lang ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: test yml JPA ๋กœ๊ทธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ตฌํ˜„ ๋งˆ๋ฌด๋ฆฌ

* fix: Morning -> Night ์ˆ˜์ •

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ID๋กœ ์กด์žฌ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์˜คํƒ€ ์ˆ˜์ •

* fix: ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ถˆ๊ฐ€ ํ•ด๊ฒฐ

* fix: CI ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋ฐฉ ์ˆ˜์ •์— ํ•„์š”ํ•œ ํ•„๋“œ ์ถ”๊ฐ€ (#36)

* feat: ec2 dev ์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„ (#40)

* chore: submodule ์—…๋ฐ์ดํŠธ

* feat: docker-compose ํŒŒ์ผ ์„ธํŒ…

* feat: nginx ํ…œํ”Œ๋ฆฟ ์„ค์ •

* feat: Dockerfile ์„ค์ •

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ž‘์„ฑ

* feat: HealthCheckController ๊ตฌํ˜„

* chore: build.gradle ์ปค๋ฒ„๋ฆฌ์ง€ ํ•ญ๋ชฉ ์ œ์™ธ ์ถ”๊ฐ€

* feat: github actions ci, cd ์ž‘์„ฑ

* style: ci ํŒŒ์ผ ์˜คํƒ€ ์ˆ˜์ •

* hotfix: submodule mysql ์ˆ˜์ •

* feat: social ํšŒ์› ํ† ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#37)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* fix: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#41)

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ, ์ธ๋ฒคํ† ๋ฆฌ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: containsExactly ๊ฒ€์ฆ์œผ๋กœ ์ˆ˜์ •

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Service ํ…Œ์ŠคํŠธ

* test: ์ธ๋ฒคํ† ๋ฆฌ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: Stream ์œ ํ‹ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: ItemFixture๋ฅผ ํ†ตํ•œ ์•„์ดํ…œ ์ƒ์„ฑ ์‹œ build() ์ถ”๊ฐ€

* test: ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: MethodArgumentTypeMismatchException handler ์ถ”๊ฐ€

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* fix: Mapper ์ƒ์„ฑ์ž ์ ‘๊ทผ ๋ ˆ๋ฒจ private์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ItemType ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* refactor: ์ž˜๋ชป๋œ ์š”์ฒญ ํƒ€์ž… ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ƒ์ˆ˜ํ™”

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„ (feat. RestDoc, Embedded Redis) (#43)

* feat: RestDoc ๊ธฐ๋ณธ ์„ค์ •

* feat: Embedded Redis ํ™˜๊ฒฝ ๊ตฌ์ถ•

* style: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ ๋ฐ ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ํ‚ค ์ƒ์„ฑ ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: redis docker ์ฃผ์„ ์ฒ˜๋ฆฌ

* chore: dump.rdb ์‚ญ์ œ

* chore: develop-cd Redis ์ฃผ์„์ฒ˜๋ฆฌ

* style: ์ฃผ์„ ์‚ญ์ œ

* style: Constant ๋ถ„๋ฆฌ

* refacotr: String.format์„ ํ™œ์šฉํ•ด Knock Key ์ƒ์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#44)

* refactor: Mapper ํด๋ž˜์Šค ์„ ์–ธ ํ†ต์ผ

* refactor: service, mapper ์ˆ˜์ •

* fix: Room nullable๋กœ ์ˆ˜์ •

* chore: highlight sql ์„ค์ • ์ถ”๊ฐ€

* feat: ๋ฐฉ๊ณผ ๊ฐ ๋ฐฉ์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์—ฌ๋ถ€ ์ €์žฅ์„ ์œ„ํ•œ Entity ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ์— ํ•„์š”ํ•œ DTO, Mapper ์ถ”๊ฐ€

* feat: ๋ฐฉ์žฅ ์ •๋ณด ๋ถ€๋ฅด๋Š” querydsl

* feat: ์ธ์ฆ์— ๋Œ€ํ•œ ์ •๋ณด Mapper, querydsl ์ถ”๊ฐ€

* feat: Participant, Routine ์ˆ˜์ •, Search querydsl ์ž‘์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ service, controller

* test: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: checkstyle ์ˆ˜์ •

* feat: ์•„์ดํ…œ ์ ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#45)

* feat: ์•„์ดํ…œ ์ ์šฉ API ๊ตฌํ˜„

* test: ์•„์ดํ…œ ์ ์šฉ Service ํ…Œ์ŠคํŠธ

* test: Controller ํ…Œ์ŠคํŠธ @WebMvcTest๋กœ ๋ณ€๊ฒฝ

* test: ์•„์ดํ…œ ์ ์šฉ Controller ํ…Œ์ŠคํŠธ

* style: support ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* test: RepositoryTest ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋™์ผ ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ Nested๋กœ ์ฒ˜๋ฆฌ

* feat: ํ˜„์žฌ ์ ์šฉ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ ์‹œ ์•„์ดํ…œ ํƒ€์ž… ์ •๋ณด ์ถ”๊ฐ€

* test: ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* fix: merge conflict ํ•ด๊ฒฐ

* test: given-willReturn ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#49)

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๋ถ€๋ถ„ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Mapper ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ˆ˜์ •

* refactor: createRoom roomId ๋ฐ˜ํ™˜ํ•˜๋„๋ก refactor

* feat: ํšŒ์› ์ƒ์„ฑ ๋ฐ ๋กœ๊ทธ์ธ ์‘๋‹ต ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#47)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#50)

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋„์ž…

* test: ์ธ์ฆํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Restdoc ํŒŒ์ผ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: checkstyle ์ˆ˜์ •

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: config update (#51)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#53)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#54)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ๊ด€๋ จ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค API ๊ตฌํ˜„

* refactor: Bug -> Wallet ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: Bug๋กœ ๋„ค์ด๋ฐ ์žฌ์ˆ˜์ •

* refactor: Entity ์ƒ์„ฑ ๋กœ์ง Mapper๋กœ ์ด๋™

* fix: isDefault nullable ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ๋ ˆ๋ฒจ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ์ˆ˜์ •

* test: ์•„์ดํ…œ ๊ตฌ๋งค Service ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ Entity ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ Entity ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ ๊ตฌ๋งค Controller ํ…Œ์ŠคํŠธ

* style: decrease๋กœ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ํ•ด๋‹น ๋ฒŒ๋ ˆ ํƒ€์ž…์˜ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: Table ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#57)

* feat: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ์„ค๊ณ„

* test: Coupon Entity ํ…Œ์ŠคํŠธ

* refactor: ์ดˆ๊ธฐ๊ฐ’ 0์—์„œ 1๋กœ ์ง€์ •

* feat: ์ฟ ํฐ ์ข…๋ฅ˜์— ๋Œ€ํ•œ ์กฐํšŒ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์ปฌ๋Ÿผ์œผ๋กœ ๊ด€๋ฆฌ์ž ์•„์ด๋”” ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž์˜ ์ฟ ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: test ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* fix: CheckStyle ์ˆ˜์ •

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* feat: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#60)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* refactor: type -> couponType์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์กฐํšŒ ๋ฐ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ฟผ๋ฆฌ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐ CouponResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* fix: ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ž˜๋ชป๋œ ์ฟผ๋ฆฌ ์ˆ˜์ •

* test: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› annotation ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต (#62)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฃจํ‹ด ์ธ์ฆ ๋ฐ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#63)

* feat: ์„œ๋ฒ„ ์‹œ๊ฐ„ ์ฒดํฌ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* feat: ๋ฃจํ‹ด ์ธ์ฆ ๊ธฐ๋Šฅ ๋ฐ ClockHolder ๊ตฌํ˜„

* feat: UrlSubstringParser ๊ตฌํ˜„

* test: ๋ฃจํ‹ด ์ธ์ฆ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ๋ฐฉ ๊ณต์ง€ ๊ธธ์ด ์ˆ˜์ •

* feat: constant ๋ฐ error ์ž‘์„ฑ

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ

* chore: build.gradle s3 ์ถ”๊ฐ€

* Merge branch 'develop' into feature/#8-upload-image

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: CertificationsSearchRepository ํ…Œ์ŠคํŠธ

* chore: s3Manager ์ปค๋ฒ„๋ฆฌ์ง€ ์ œ์™ธ

* refactor: UrlParser ์ฝ”๋“œ์Šค๋ฉœ ์ œ๊ฑฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>

* feat: healthCheck path ์ถ”๊ฐ€ (#66)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* Revert "feat: healthCheck path ์ถ”๊ฐ€ (#66)" (#71)

This reverts commit baf4703.

* fix: config ์ตœ์‹ ํ™” (#72)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* fix: config ๋ณ€๊ฒฝ

* refactor: merge ๋ณ€๊ฒฝ

* refactor: ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#73)

* refactor: ๋ฐฉ ๊ด€๋ จ ์„œ๋น„์Šค ๋ถ„๋ฆฌ (#79)

* chore: gitignore ์ถ”๊ฐ€

* refactor: Room ๊ด€๋ จ Service ๋ถ„๋ฆฌ

* ๏ฟฝfeat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#81)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#80)

* feat: ์˜ค๋Š˜ ์–ป์€ ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ์ฟผ๋ฆฌ 1๋ฒˆ์œผ๋กœ ์ˆ˜์ •

* feat: @CurrentMember ์ ์šฉ

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* test: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* test: memberService mock ์ฒ˜๋ฆฌ

* chore: enum ๋น„๊ต equals๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ Authorization Member ์ ์šฉ ๏ฟฝ๋ฆฌํŒฉํ„ฐ๋ง (#82)

* refactor: Coupon์— Authorization Member ์ ์šฉ

* test: Authorization Member ์ ์šฉ๋œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ

* fix: ์ธํ”„๋ผ ci/cd ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#84)

* feat: nginx conf ์ˆ˜์ • ๋ฐ ๋ถ„๋ฆฌ

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ถ”๊ฐ€

* feat: docker-compose nginx volume ์ˆ˜์ •

* feat: ci, cd ํŒŒ์ผ ์ˆ˜์ •

* feat: dev ์„œ๋ฒ„ ํ”„๋ก ํŠธ

* chore: config ์—…๋ฐ์ดํŠธ

* chore: code smell ์ œ๊ฑฐ

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#86)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: nginx conf

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ์•„์ดํ…œ/์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง ๋ฐ @CurrentMember ์ ์šฉ  (#87)

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ์— @CurrentMember ์ ์šฉ

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* test: ์„ฑ๊ณต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* hotfix: kakao path ์ œ์™ธ ์ถ”๊ฐ€

* refactor: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ @CurrentMember ์ ์šฉ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง (#89)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: BugSearchRepository ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: RoomController @CurrentMember ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* style: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#90)

* feat: ํ† ํฐ redis ์ €์žฅ (#91)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: null ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: config ์ˆ˜์ •

* refactor: merge confilt ์ˆ˜์ •

* refacotr: code smell ๋กœ์ง ๋ณ€๊ฒฝ

* fix: config ์ˆ˜์ • (#98)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ (#95)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* hotfix: redis config ํŒŒ์ผ ์ˆ˜์ •

* refactor: ๋ฒŒ๋ ˆ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#97)

* refactor: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ์กฐํšŒ API URL ๋ณ€๊ฒฝ

* style: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Response์— ํ˜„์žฌ ์ ์šฉ๋œ ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ (#100)

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ์‹œ defaultItemId ์†์„ฑ ์ถ”๊ฐ€

* test: default ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ ๋ฐ˜์˜

* style: TodayBugResponse ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#101)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ flush() ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ dto ๊ตฌํ˜„

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: ymkim97 <[email protected]>

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ (#102)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* hotfix: config update

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#105)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#107)

* feat: ๊ฒฐ์ œ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค API ๊ตฌํ˜„

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์ฟ ํฐ ์ ์šฉ ํ…Œ์ŠคํŠธ

* test: ์ฃผ๋ฌธ ์ƒ์„ฑ ๋ฐ ๊ธˆ์•ก ํ• ์ธ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ ๋ฐ ์ฆ๊ฐ€ ๋กœ์ง ๊ฒ€์ฆ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* fix: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ์ฃผ๋ฌธ id ์ œ๊ฑฐ

* feat: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ๊ฒฐ์ œ id ์ถ”๊ฐ€

* fix: Transactional ์ ์šฉ

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#113)

* style: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ์ „ ๋Œ€๊ธฐ ์ƒํƒœ ์ถ”๊ฐ€

* feat: ๊ฒฐ์ œ ์š”์ฒญ API ๊ตฌํ˜„

* fix: Valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์š”์ฒญ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์š”์ฒญ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ/์ฃผ๋ฌธ ์œ ๋‹› ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#114)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Syntax ์—๋Ÿฌ๋กœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ž„์‹œ Disabled ์ฒ˜๋ฆฌ

* fix: Redis Yaml ์ถ”๊ฐ€ ์„ค์ •

* test: ์ค‘๋ณต ์ €์žฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: SystemClockHolder -> ClockHolder ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ณ€๊ฒฝ (#117)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ธ ๋ชฉ๋ก ์กฐํšŒ ๋‚ ์งœ๋ณ„ ์กฐํšŒ๋กœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋ฐฉ์ด ์ธ์ฆ๋œ ๋‚ ์งœ๋“ค์€ ์กฐํšŒํ•˜๋Š” ์œ ์ €์˜ ๋‚ ์งœ์—์„œ ์ผ์ฃผ์ผ ์ „๊นŒ์ง€ ๊ฐ€์ ธ์˜ด

* refactor: ์‚ฌ์šฉ์ž์˜ ์ฐŒ๋ฅด๊ธฐ ํ™•์ธ ๊ธฐ๋Šฅ ์ˆ˜์ •

* feat: ์‚ฌ์šฉ์ž๋ณ„ ์ฝ•์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€ ํ™•์ธ ์ถ”๊ฐ€

* feat: Response์— ์š”์ฒญ์ž์˜ memberId ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API(/members/login/kakao/oauth) Get -> Post ๋ณ€๊ฒฝ (#118)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* feat: Get์—์„œ Post๋กœ ๋ณ€๊ฒฝ

* refactor: CookieUtils ๋ณ€๊ฒฝ

* feat: config ๋ณ€๊ฒฝ

* fix: merge confilt ํ•ด๊ฒฐ

* feat: Cookie secure ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฐฉ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#121)

* feat: ๊ฒ€์ƒ‰ Native Query ์ž‘์„ฑ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* test: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž… ํ†ต์ผํ™”

* refactor: controller ํƒ€์ž… ์ˆ˜์ •

* style: ์ฟ ํฐ ๋ฐ ๋…ธ์…˜ ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#122)

* ๏ฟฝfeat: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#128)

* fix: ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ›„ ์ธ์ฆ ์ˆ˜ ์ฆ๊ฐ€ ์ถ”๊ฐ€

* feat: ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค, Dto, Mapper ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ • (#129)

* refactor: ๊ฒฐ์ œ ๊ธˆ์•ก ์ปฌ๋Ÿผ Payment๋กœ ์ด๋™

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ

* feat : ํšŒ์› ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#131)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* ๏ฟฝfeat: Fcm Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#132)

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* refactor: Knock, Fcm ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* style: Coupon ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: Fcm Token null, blank ์ฒ˜๋ฆฌ

* docs: ์ฟ ํฐ ์ €์žฅ์— ๋Œ€ํ•œ RestDoc ์ถ”๊ฐ€

* refactor: AuthMember ์ ์šฉ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: submodule config ๋ณ€๊ฒฝ

* feat: CouponWallet ์—”ํ‹ฐํ‹ฐ & ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„ (#134)

* refactor : ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ๋ณ€๊ฒฝ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ (#136)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* refactor: Sub module Update

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ (#139)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ CouponWallet ์ ์šฉ (#141)

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* fix: ๋ณด์œ ํ•œ ์ฟ ํฐ ์กฐํšŒ ์‹œ fetch join ์ ์šฉ

* test: ์ฟ ํฐ ์ง€๊ฐ‘ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feature: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#142)

* feat: ์ƒˆ ์Šคํ‚จ ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: jpa๊ด€๋ จ config ์„ค์ •

- ๋ฒ„์ „ ํ˜ธํ™˜์˜ค๋ฅ˜๋กœ ์ธํ•œ ๊ธฐ๋ณธ Template์„ค์ •

* feat: ๊ธฐ๋ณธ ์ƒˆ ์Šคํ‚จ ์กฐํšŒ query ์ถ”๊ฐ€

* feat: ํšŒ์›๊ณผ ๋ฒŒ๋ ˆ์— ๋Œ€ํ•œ ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ API ์ถ”๊ฐ€

* style: ๋ฉ”์„œ๋“œ ์ ‘๊ทผ ์ œ์–ด์ž์— ๋”ฐ๋ฅธ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: inventorySearchService ์ œ๊ฑฐ ํ›„ memberService์—์„œ repository ์ถ”๊ฐ€

* refactor: transform์—์„œ stream์œผ๋กœ ๋™์ž‘ ๋ณ€๊ฒฝ

* style: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: nginx ์„ค์ • ํŒŒ์ผ ๋ฆฌํฌ๋งทํŒ…

* hotfix: CorsFilter ์ถ”๊ฐ€

* refactor: ๋ฐฉ/๋ฃจํ‹ด ์ „์ฒด ๋ฆฌํŒฉํ† ๋ง (#143)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: merge ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ

* refactor: ParticipantMapper ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๋ฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์šฉ์ž ์ฟ ํฐ ๋ฐœ๊ธ‰ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ (#146)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ์ ‘๊ทผ ์ œ์–ด์ž, ๋ฉ”์„œ๋“œ๋ช…, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#148)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* refactor: LocalDate ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#149)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐํ•จ ์กฐํšŒ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์ €์žฅ์†Œ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: temporal ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: Stream ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ์ถ”๊ฐ€ (#151)

* fix: cors api ์š”์ฒญ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • APi ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ๋ฐ˜์˜

- ์ผ์‹œ์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ
- ํšŒ์› null๊ฐ’์— ๋Œ€ํ•œ ์˜ˆ์™ธ Objects๋กœ ๋ณ€๊ฒฝ
- ErrorMessage ๋ณ€๊ฒฝ
- ํ…Œ์ŠคํŠธ ์ฝ”๋“œ CsvSource null๊ฐ’ ์ ์šฉ

* refactor: null์ฒดํฌ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์–ด์ˆœ ๋ณ€๊ฒฝ

* feat: ๊ฒฐ์ œ ์Šน์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#154)

* feat: order_id ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค ์„ค์ •

* chore: webflux ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ์Šค ๊ฒฐ์ œ ์œ„์ ฏ ์Šน์ธ API ์—ฐ๋™

* feat: ๊ฒฐ์ œ ์Šน์ธ API ๊ตฌํ˜„

* feat: ๊ฒฐ์ œ ํ…Œ์ด๋ธ”์— couponWalletId ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์Šน์ธ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* feat: ๊ฒฐ์ œ ์Šน์ธ ์‹œ ์ฟ ํฐ ์ฐจ๊ฐ ๋ฐ ๋ฒŒ๋ ˆ ์ถฉ์ „ ๋กœ์ง ์ถ”๊ฐ€

* fix: ์ฟ ํฐ์ด ์ ์šฉ๋œ ๊ฒฝ์šฐ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* chore: config ์—…๋ฐ์ดํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* chore: MockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ํ…Œ์ŠคํŠธ

* fix: checkStyle ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ณตํ†ต ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ถฉ์ „ ์‹œ ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€

* style: ์ค‘๋ณต ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#155)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: Response ๋ถ„๋ฆฌ

* style: ์ค„๋ฐ”๊ฟˆ ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ (#157)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Room version ์‚ญ์ œ

* fix: ์ฝ”๋“œ ์ˆ˜์ •

* feat: Image Type ์ถ”๊ฐ€

---------

Co-authored-by: Dev Uni <[email protected]>

* hotfix: develop-cd docker ์ถ”๊ฐ€

* feat: ๋ฐฉ/ํšŒ์›/์ธ์ฆ ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#158)

* test: ์‚ญ์ œ๋œ ํšŒ์› ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ํšŒ์› ์กฐํšŒ ๋ณ€๊ฒฝ

* feat: ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์‹ ๊ณ  ๊ธฐ๋Šฅ ๋กœ์ง ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์‹ ๊ณ  api ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ„ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐ index ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: CsvSource null ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

* hotfix: config ์—…๋ฐ์ดํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#160)

* Merge branch 'develop' into feature/#75-use-coupon

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์—์„œ ํŠน์ • ํšŒ์›์˜ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์— ์žˆ๋Š” ์ฟ ํฐ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* test: RestDoc ์—…๋ฐ์ดํŠธ

* refactor : ๊ฒฐ์ œ ์ฟ ํฐ ์‚ฌ์šฉ ํ†ตํ•ฉ

* Submodule update

* test: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ถ”๊ฐ€

* feat: ๋ฏธ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ (#161)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ, ์ฐธ์—ฌ ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ๋ถ€๋ฅด๊ธฐ ์ปจํŠธ๋กค๋Ÿฌ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณด์™„

* fix: memberId ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ ๋ณ€๊ฒฝ

* refactor: redirection -> boolean์œผ๋กœ ๋ณ€๊ฒฝ

* fix: Search ์ฟผ๋ฆฌ ์ˆ˜์ •

---------

Co-authored-by: Dev Uni <[email protected]>

* fix: noskin image ๋ณ€๊ฒฝ (#162)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* feat: ๋ฒŒ๋ ˆ ๋ณด์ƒ/์ถฉ์ „/์‚ฌ์šฉ ์‹œ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€ (#165)

* refactor: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* refactor: ๋ฒŒ๋ ˆ ๋ณด์ƒ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* test: ์•„์ดํ…œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: BugService Mock ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ/์ถฉ์ „/๋ณด์ƒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* fix: ๋ถˆํ•„์š”ํ•œ Mock ์ œ๊ฑฐ

* feat: ์•„์ดํ…œ ์ด๋ฏธ์ง€ ๋ฒ„์ „ ์ถ”๊ฐ€ ๋ฐ ๋ฐฉ ๋ฐฐ๊ฒฝ ์—…๋ฐ์ดํŠธ (#167)

* refactor: ์•„์ดํ…œ ํ…Œ์ด๋ธ”์— awakeImage, sleepImage ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ๋ฐฉ ๋ ˆ๋ฒจ์—… ์‹œ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ˆ˜์ •

* chore: ์ด๋ฏธ์ง€ URL์— ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ

* fix: no skin image ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#168)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* test: @BeforeAll Transaction์ ์šฉ ์‹คํŒจ๋กœ ์ธํ•œ merge ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค ์ถ”๊ฐ€

* test: ๊ธฐ๋ณธ URL ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ

* hotfix: schema, item ๋“ฑ๋ก

* hotfix: config ์ˆ˜์ •

* hotfix: sql ์—…๋ฐ์ดํŠธ

* hotfix: item inventory ์ฟผ๋ฆฌ ์ˆ˜์ •

* hotfix: config admin key ์—…๋ฐ์ดํŠธ

* hotfix: config sql init none

* hotfix: config sql init never

* refactor: ์‹ค์‹œ๊ฐ„ ์„ ์ฐฉ์ˆœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#169)

* refactor: ZSET popMin -> range๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๊ด€๋ฆฌ ์ €์žฅ์†Œ popMin -> range๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ฒฐ๊ณผ FCM ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ZSET size ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ฒดํฌ ์Šคํƒ€์ผ ์ˆ˜์ •

* fix: Import ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ก ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ํฌ๊ธฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์‚ญ์ œ

* refactor: addIfAbsent ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ๋ ˆ๋””์Šค SORTED SET ๋ช…๋ น์–ด ํ…Œ์ŠคํŠธ Disabled

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๋ฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ์ฟ ํฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url (#173)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* hotfix: sql init ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: docker-compose mysql

* hotfix: docker-compose mysql

* fix: ๋ฐฉ์žฅ ์ž์‹ ์— ๋Œ€ํ•œ ์ถ”๋ฐฉ ๋ฒ„๊ทธ (#177)

* fix: ๋ฐฉ์žฅ ์ž์‹  ์ถ”๋ฐฉ ๋ชปํ•˜๋„๋ก validate ์ถ”๊ฐ€

* feature: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ์— ๋ฐฉ์žฅ ID ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝ

* Fix/#175 fix member delete error (#178)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„  (#180)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* fix: ์•„์ดํ…œ ์„ ํƒ ์‹œ ๋ฉค๋ฒ„ ๊ธฐ๋ณธ ์Šคํ‚จ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ (#182)

* style: FCM Token Log ์ƒ์„ฑ (#183)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* style: fcm token log

* fix: ๋ฐฉ์žฅ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ฝ”๋“œ ์ˆ˜์ • (#184)

* hotfix: ์ธ์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: ๋ฐฉ์žฅ ๋ฐฉ ์‚ญ์ œ ๋ฒ„๊ทธ

* fix: fcm ํ† ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#185)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: fcm ํ† ํฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* style: ํ•„์š”์—†๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ์ฐธ์—ฌ์ž ์—…๋ฐ์ดํŠธ

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#188)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ throw

* test: ๊ฒฐ์ œ ์Šน์ธ ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* fix: ํ† ์Šค ์Šน์ธ API ์š”์ฒญ ์‹œ Basic ์ธ์ฆ ํ—ค๋”๋กœ ๋ณ€๊ฒฝ

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#193)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์„ฑ๊ณต/์‹คํŒจ ์‹œ ๊ฒฐ๊ณผ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#194)

* fix: ๊ฒฐ์ œ ์ •๋ณด ๊ฒ€์ฆ ๋ฐ ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ๋กœ์ง ํŠธ๋žœ์žญ์…˜ ๋ถ„๋ฆฌ

* test: ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ranking system ๊ตฌํ˜„ (#189)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* fix: record๋ฅผ class๋กœ ๋ฐ”๊ฟ”์„œ ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ (#195)

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* fix: record๋ฅผ class๋กœ ๋ฐ”๊พธ๊ณ  ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ

* fix: approvedAt ์ œ๊ฑฐ (#197)

* fix: ๋ฒŒ๋ ˆ 0๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ ๋‚ด์—ญ ์ €์žฅ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ • (#199)

* chore: ๊ฒฐ์ œ ์‹คํŒจ ์ฒ˜๋ฆฌ ๋กœ์ง์— Transactional ์ ์šฉ

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด์— ๋ฐฉ ์ƒ์„ฑ ๋‚ ์งœ์‹œ๊ฐ„ ์ถ”๊ฐ€ (#201)

* fix: ObjectMapper ์ˆ˜์ • (#202)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝrefactor: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€๊ฒฝ (#203)

* refactor: ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ Body ๋ณ€๊ฒฝ

* refactor: FCM ์•Œ๋ฆผ ํ˜•์‹ ๋ณ€๊ฒฝ

* fix: ObjectMapper ์‚ญ์ œ ์‹คํŒจ ์ˆ˜์ • (#204)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๋ฐ item-data ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#206)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#207)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#208)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* fix: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: nginx ๋กœ๊น… ์ถ”๊ฐ€

* feat: actuator ์™ธ๋ถ€ ์ฐจ๋‹จ

* hotfix: Dockerfile copy ์ˆ˜์ •

* hotfix: deploy-cd Dockerfile ๊ฒฝ๋กœ ์ˆ˜์ •

* hotfix: deploy-cd ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* hotfix: nginx ๋กœ๊น… docker-compose ์—ฐ๊ฒฐ

* hotfix: String to Long Error ์ˆ˜์ •

* fix: MaxUploadSizeExceededException ์˜ˆ์™ธ ๋˜์ง€๊ธฐ (#212)

* fix: 0์‹œ ์ธ์ฆ ๋ฐฉ์—์„œ ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#213)

* fix: 0์‹œ ์ธ์ฆํƒ€์ž„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: nginx client ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ ์ˆ˜์ •

* hotfix: ์ฟ ํฐํ ๋น„์–ด์žˆ์„ ์‹œ, ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํšŸ์ˆ˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์Šค์›จ๊ฑฐ ๋„์ž…

* hotfix: ์Šค์›จ๊ฑฐ ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#215)

* chore: ๊ธฐ๋ณธ ์ƒ์  ์ƒํ’ˆ ์ฟผ๋ฆฌ ์ˆ˜์ •

* chore: slack api client ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„

* chore: slack webhook url config ์ถ”๊ฐ€

* fix: build ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋ฐฉ ์ˆ˜์ •์—์„œ ๋ฃจํ‹ด ์ˆ˜์ • ์ œ์™ธ (#217)

* feat: admin login (#216)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: mysql ํ…Œ์ด๋ธ” init ์—…๋ฐ์ดํŠธ

* hotfix: config ์—…๋ฐ์ดํŠธ

* hotfix: 00์‹œ ์ธ์ฆ ํƒ€์ž„ ์ˆ˜์ •

* refactor: ๋ฐฉ ์ธ์ฆ ๊ธฐํš ๊ด€๋ จ ์ˆ˜์ • (#219)

* refactor: ๋ฐฉ ์ธ์ฆ ์‹œ๊ฐ„ ์ •๊ฐ๋ถ€ํ„ฐ 10๋ถ„๊นŒ์ง€๋กœ ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž ์ค‘ ํ•œ๋ช… ์ด์ƒ์ด ์ธ์ฆ ํ–ˆ์„ ์‹œ ๋ฐฉ ์‹œ๊ฐ„ ์ˆ˜์ • ๋ชปํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* ๏ฟฝfix: ์ธ์ฆ๋œ ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ํ›„ ๋ฐฉ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#221)

* fix: ์ธ์ฆํ•˜๊ณ  ๋‚˜๊ฐ„ ์ฐธ์—ฌ์ž ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

* fix: ์ธ์ฆ๋œ ๋ฐฉ์ด ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* fix: ๋ฐฉ์˜ ์ธ์ฆ ์‹œ๊ฐ„์—๋Š” ์ž…์žฅํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ˆ˜์ • (#223)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ (#226)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ

* docs: mysql ์ˆ˜์ •

* fix: checkstyle

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์ด ๋ณต์‚ฌ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#228)

* hotfix: distinct ์ถ”๊ฐ€

* fix: ๊ธฐ์—ฌ๋„ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#230)

* fix: admin token (#231)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝfix: ์ธ์ฆ์œจ ํ•˜๋ฝ ๋ฒ„๊ทธ ์ˆ˜์ • (#233)

* refactor: ์ฝ”๋“œ ์ •๋ฆฌ

* fix: ์ธ์ฆ์œจ ํ•˜๋ฝ ์ˆ˜์ •

* fix: admin token fix (#234)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ์„ค์ • ์˜ค๋ฅ˜ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ธฐ๋Šฅ rollback

* feat: ์—๋Ÿฌ ๋กœ๊ทธ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#237)

* chore: logback slack appender ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ํŒŒ์ผ ์ž‘์„ฑ

* fix: admin token fix (#235)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ฒ„ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ๋„๋ฉ”์ธ ๊ด€๋ จ SameSite๋ฅผ None์œผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* fix: date equals ์ ์šฉ (#239)

* feat: exception AOP ๋กœ๊ทธ ์ถ”๊ฐ€ (#241)

* feat: ExceptionHandler AOP ์ ์šฉ

* refactor: ์ˆ˜์ •

* refactor: checkstyle ์ ์šฉ

* refactor: ๋ฐฉ, filter, aop ์ˆ˜์ • (#243)

* fix: ๋ฐฉ ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ, AOP ์ˆ˜์ •

* hotfix: date equals ์ ์šฉ

* fix: ํšŒ์› ์‚ญ์ œ์— ๋Œ€ํ•œ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ

* feat: sql ์ˆ˜์ •

* refactor: ๋ฒณ์ง€ init sql ์ˆ˜์ •

* refactor: ๋ฐฉ ์ด๋ฏธ์ง€ ์ •๋ณด ๋ณ€๊ฒฝ

* fix: ๋ฐฉ์˜ exp ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* hotfix: ํšŒ์› ์‚ญ์ œ ๋กœ์ง ๋ณ€๊ฒฝ

* hotfix: ๋žญํ‚น ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ๋ฐฉ ์กฐํšŒ ์ˆ˜์ •

* feat: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„

* fix: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ cd ์ˆ˜์ •

* fix: log AOP ์ œ๊ฑฐ ๋ฐ SlackExceptionHandler ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

---------

Co-authored-by: Kim Heebin <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>
Co-authored-by: Park Seyeon <[email protected]>
Co-authored-by: ํ™ํ˜์ค€ <[email protected]>
Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: HyuckJuneHong <[email protected]>
Shin-Jae-Yoon added a commit that referenced this pull request Dec 3, 2023
* chore: sonarcloud ๋ฐ jacoco ์„ธํŒ…

* chore: checkstyle ์„ธํŒ…

* chore: gitignore ์ˆ˜์ •

* docs: PR ํ…œํ”Œ๋ฆฟ ์ˆ˜์ •

* feat: ๊ณตํ†ต๋œ ํด๋ž˜์Šค ์ถ”๊ฐ€ ์ž‘์—… (#4)

* feat: Exception ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Config ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Entity ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* fix: intellij-formatter line-separator (#10)

* feat: ํšŒ์› Authorization Grant์™€ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ƒ์„ฑ, ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#20)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#21)

* feat: Bug ์ž„๋ฒ ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* docs: PR merge ์‹œ, Issue ์ž๋™ close๋กœ ์ˆ˜์ •

* refactor: ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ์ž id ํฌํ•จ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* style: dto ๋‚ด bug ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

* test: Bug ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ

* style: ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ controller ํ…Œ์ŠคํŠธ

* refactor: private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* test: ๋ฉค๋ฒ„ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฒŒ๋ ˆ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฉค๋ฒ„ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ์— Bug ์ถ”๊ฐ€

* fix: code smell ์ œ๊ฑฐ

* style: BugMapper ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์— ParameterizedTest ์ ์šฉ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#22)

* fix: SQL syntax ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํ’ˆ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* feat: Authorization Server๋กœ ๋ถ€ํ„ฐ ํ† ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#24)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#26)

* feat: Redis ์ดˆ๊ธฐ ์„ค์ •

* feat: FCM ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ์„œ๋น„์Šค ๋ฐ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„

* fix: Redis Reposi ์ถ”์ƒ ํด๋ž˜์Šค ์ œ๊ฑฐ ๋ฐ ํ…Œ์ŠคํŠธ Profile ๋ณ€๊ฒฝ

* test: StringRedisRepository ํ…Œ์ŠคํŠธ

* test: NotificationRepository ํ…Œ์ŠคํŠธ

* feat: NullPointerException ์˜ˆ์™ธ ํ•ธ๋“ค๋ง ์ฒ˜๋ฆฌ

* test: NotificationService ํ…Œ์ŠคํŠธ

* refacotr: PostConstruct๋ฅผ Bean์œผ๋กœ ๋ณ€๊ฒฝ

* refactor : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Profile ๋ณ€๊ฒฝ

* fix: redis ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* fix : Redis ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : Member Role Default ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: firebase config ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* fix: ์—๋Ÿฌ ์ฐพ๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ์„ค์ •

* fix: CI๊ฐ€ ์„œ๋ธŒ๋ชจ๋“ˆ ๊ฒฝ๋กœ๋ฅผ ๋ชป์ฐพ๋Š” ์—๋Ÿฌ ํ•ด๊ฒฐ

* test: Redis Repository ํ…Œ์ŠคํŠธ ๋ฐ ๋กœ๊ทธ ์‚ญ์ œ

* style: ๋ฉ”์„œ๋“œ๋ช… ๋ฐ ์ค„๋ฐ”๊ฟˆ ์„ค์ •

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์ €์žฅ ์‹œ, ํ‚ค๊ฐ’ ๋ฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#28)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* chore: Apache Commons Lang ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: test yml JPA ๋กœ๊ทธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ตฌํ˜„ ๋งˆ๋ฌด๋ฆฌ

* fix: Morning -> Night ์ˆ˜์ •

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ID๋กœ ์กด์žฌ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์˜คํƒ€ ์ˆ˜์ •

* fix: ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ถˆ๊ฐ€ ํ•ด๊ฒฐ

* fix: CI ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋ฐฉ ์ˆ˜์ •์— ํ•„์š”ํ•œ ํ•„๋“œ ์ถ”๊ฐ€ (#36)

* feat: ec2 dev ์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„ (#40)

* chore: submodule ์—…๋ฐ์ดํŠธ

* feat: docker-compose ํŒŒ์ผ ์„ธํŒ…

* feat: nginx ํ…œํ”Œ๋ฆฟ ์„ค์ •

* feat: Dockerfile ์„ค์ •

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ž‘์„ฑ

* feat: HealthCheckController ๊ตฌํ˜„

* chore: build.gradle ์ปค๋ฒ„๋ฆฌ์ง€ ํ•ญ๋ชฉ ์ œ์™ธ ์ถ”๊ฐ€

* feat: github actions ci, cd ์ž‘์„ฑ

* style: ci ํŒŒ์ผ ์˜คํƒ€ ์ˆ˜์ •

* hotfix: submodule mysql ์ˆ˜์ •

* feat: social ํšŒ์› ํ† ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#37)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* fix: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#41)

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ, ์ธ๋ฒคํ† ๋ฆฌ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: containsExactly ๊ฒ€์ฆ์œผ๋กœ ์ˆ˜์ •

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Service ํ…Œ์ŠคํŠธ

* test: ์ธ๋ฒคํ† ๋ฆฌ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: Stream ์œ ํ‹ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: ItemFixture๋ฅผ ํ†ตํ•œ ์•„์ดํ…œ ์ƒ์„ฑ ์‹œ build() ์ถ”๊ฐ€

* test: ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: MethodArgumentTypeMismatchException handler ์ถ”๊ฐ€

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* fix: Mapper ์ƒ์„ฑ์ž ์ ‘๊ทผ ๋ ˆ๋ฒจ private์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ItemType ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* refactor: ์ž˜๋ชป๋œ ์š”์ฒญ ํƒ€์ž… ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ƒ์ˆ˜ํ™”

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„ (feat. RestDoc, Embedded Redis) (#43)

* feat: RestDoc ๊ธฐ๋ณธ ์„ค์ •

* feat: Embedded Redis ํ™˜๊ฒฝ ๊ตฌ์ถ•

* style: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ ๋ฐ ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ํ‚ค ์ƒ์„ฑ ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: redis docker ์ฃผ์„ ์ฒ˜๋ฆฌ

* chore: dump.rdb ์‚ญ์ œ

* chore: develop-cd Redis ์ฃผ์„์ฒ˜๋ฆฌ

* style: ์ฃผ์„ ์‚ญ์ œ

* style: Constant ๋ถ„๋ฆฌ

* refacotr: String.format์„ ํ™œ์šฉํ•ด Knock Key ์ƒ์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#44)

* refactor: Mapper ํด๋ž˜์Šค ์„ ์–ธ ํ†ต์ผ

* refactor: service, mapper ์ˆ˜์ •

* fix: Room nullable๋กœ ์ˆ˜์ •

* chore: highlight sql ์„ค์ • ์ถ”๊ฐ€

* feat: ๋ฐฉ๊ณผ ๊ฐ ๋ฐฉ์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์—ฌ๋ถ€ ์ €์žฅ์„ ์œ„ํ•œ Entity ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ์— ํ•„์š”ํ•œ DTO, Mapper ์ถ”๊ฐ€

* feat: ๋ฐฉ์žฅ ์ •๋ณด ๋ถ€๋ฅด๋Š” querydsl

* feat: ์ธ์ฆ์— ๋Œ€ํ•œ ์ •๋ณด Mapper, querydsl ์ถ”๊ฐ€

* feat: Participant, Routine ์ˆ˜์ •, Search querydsl ์ž‘์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ service, controller

* test: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: checkstyle ์ˆ˜์ •

* feat: ์•„์ดํ…œ ์ ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#45)

* feat: ์•„์ดํ…œ ์ ์šฉ API ๊ตฌํ˜„

* test: ์•„์ดํ…œ ์ ์šฉ Service ํ…Œ์ŠคํŠธ

* test: Controller ํ…Œ์ŠคํŠธ @WebMvcTest๋กœ ๋ณ€๊ฒฝ

* test: ์•„์ดํ…œ ์ ์šฉ Controller ํ…Œ์ŠคํŠธ

* style: support ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* test: RepositoryTest ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋™์ผ ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ Nested๋กœ ์ฒ˜๋ฆฌ

* feat: ํ˜„์žฌ ์ ์šฉ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ ์‹œ ์•„์ดํ…œ ํƒ€์ž… ์ •๋ณด ์ถ”๊ฐ€

* test: ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* fix: merge conflict ํ•ด๊ฒฐ

* test: given-willReturn ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#49)

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๋ถ€๋ถ„ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Mapper ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ˆ˜์ •

* refactor: createRoom roomId ๋ฐ˜ํ™˜ํ•˜๋„๋ก refactor

* feat: ํšŒ์› ์ƒ์„ฑ ๋ฐ ๋กœ๊ทธ์ธ ์‘๋‹ต ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#47)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#50)

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋„์ž…

* test: ์ธ์ฆํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Restdoc ํŒŒ์ผ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: checkstyle ์ˆ˜์ •

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: config update (#51)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#53)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#54)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ๊ด€๋ จ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค API ๊ตฌํ˜„

* refactor: Bug -> Wallet ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: Bug๋กœ ๋„ค์ด๋ฐ ์žฌ์ˆ˜์ •

* refactor: Entity ์ƒ์„ฑ ๋กœ์ง Mapper๋กœ ์ด๋™

* fix: isDefault nullable ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ๋ ˆ๋ฒจ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ์ˆ˜์ •

* test: ์•„์ดํ…œ ๊ตฌ๋งค Service ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ Entity ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ Entity ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ ๊ตฌ๋งค Controller ํ…Œ์ŠคํŠธ

* style: decrease๋กœ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ํ•ด๋‹น ๋ฒŒ๋ ˆ ํƒ€์ž…์˜ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: Table ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#57)

* feat: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ์„ค๊ณ„

* test: Coupon Entity ํ…Œ์ŠคํŠธ

* refactor: ์ดˆ๊ธฐ๊ฐ’ 0์—์„œ 1๋กœ ์ง€์ •

* feat: ์ฟ ํฐ ์ข…๋ฅ˜์— ๋Œ€ํ•œ ์กฐํšŒ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์ปฌ๋Ÿผ์œผ๋กœ ๊ด€๋ฆฌ์ž ์•„์ด๋”” ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž์˜ ์ฟ ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: test ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* fix: CheckStyle ์ˆ˜์ •

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* feat: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#60)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* refactor: type -> couponType์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์กฐํšŒ ๋ฐ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ฟผ๋ฆฌ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐ CouponResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* fix: ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ž˜๋ชป๋œ ์ฟผ๋ฆฌ ์ˆ˜์ •

* test: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› annotation ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต (#62)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฃจํ‹ด ์ธ์ฆ ๋ฐ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#63)

* feat: ์„œ๋ฒ„ ์‹œ๊ฐ„ ์ฒดํฌ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* feat: ๋ฃจํ‹ด ์ธ์ฆ ๊ธฐ๋Šฅ ๋ฐ ClockHolder ๊ตฌํ˜„

* feat: UrlSubstringParser ๊ตฌํ˜„

* test: ๋ฃจํ‹ด ์ธ์ฆ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ๋ฐฉ ๊ณต์ง€ ๊ธธ์ด ์ˆ˜์ •

* feat: constant ๋ฐ error ์ž‘์„ฑ

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ

* chore: build.gradle s3 ์ถ”๊ฐ€

* Merge branch 'develop' into feature/#8-upload-image

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: CertificationsSearchRepository ํ…Œ์ŠคํŠธ

* chore: s3Manager ์ปค๋ฒ„๋ฆฌ์ง€ ์ œ์™ธ

* refactor: UrlParser ์ฝ”๋“œ์Šค๋ฉœ ์ œ๊ฑฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>

* feat: healthCheck path ์ถ”๊ฐ€ (#66)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* Revert "feat: healthCheck path ์ถ”๊ฐ€ (#66)" (#71)

This reverts commit baf4703.

* fix: config ์ตœ์‹ ํ™” (#72)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* fix: config ๋ณ€๊ฒฝ

* refactor: merge ๋ณ€๊ฒฝ

* refactor: ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#73)

* refactor: ๋ฐฉ ๊ด€๋ จ ์„œ๋น„์Šค ๋ถ„๋ฆฌ (#79)

* chore: gitignore ์ถ”๊ฐ€

* refactor: Room ๊ด€๋ จ Service ๋ถ„๋ฆฌ

* ๏ฟฝfeat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#81)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#80)

* feat: ์˜ค๋Š˜ ์–ป์€ ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ์ฟผ๋ฆฌ 1๋ฒˆ์œผ๋กœ ์ˆ˜์ •

* feat: @CurrentMember ์ ์šฉ

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* test: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* test: memberService mock ์ฒ˜๋ฆฌ

* chore: enum ๋น„๊ต equals๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ Authorization Member ์ ์šฉ ๏ฟฝ๋ฆฌํŒฉํ„ฐ๋ง (#82)

* refactor: Coupon์— Authorization Member ์ ์šฉ

* test: Authorization Member ์ ์šฉ๋œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ

* fix: ์ธํ”„๋ผ ci/cd ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#84)

* feat: nginx conf ์ˆ˜์ • ๋ฐ ๋ถ„๋ฆฌ

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ถ”๊ฐ€

* feat: docker-compose nginx volume ์ˆ˜์ •

* feat: ci, cd ํŒŒ์ผ ์ˆ˜์ •

* feat: dev ์„œ๋ฒ„ ํ”„๋ก ํŠธ

* chore: config ์—…๋ฐ์ดํŠธ

* chore: code smell ์ œ๊ฑฐ

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#86)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: nginx conf

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ์•„์ดํ…œ/์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง ๋ฐ @CurrentMember ์ ์šฉ  (#87)

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ์— @CurrentMember ์ ์šฉ

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* test: ์„ฑ๊ณต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* hotfix: kakao path ์ œ์™ธ ์ถ”๊ฐ€

* refactor: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ @CurrentMember ์ ์šฉ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง (#89)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: BugSearchRepository ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: RoomController @CurrentMember ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* style: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#90)

* feat: ํ† ํฐ redis ์ €์žฅ (#91)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: null ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: config ์ˆ˜์ •

* refactor: merge confilt ์ˆ˜์ •

* refacotr: code smell ๋กœ์ง ๋ณ€๊ฒฝ

* fix: config ์ˆ˜์ • (#98)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ (#95)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* hotfix: redis config ํŒŒ์ผ ์ˆ˜์ •

* refactor: ๋ฒŒ๋ ˆ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#97)

* refactor: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ์กฐํšŒ API URL ๋ณ€๊ฒฝ

* style: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Response์— ํ˜„์žฌ ์ ์šฉ๋œ ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ (#100)

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ์‹œ defaultItemId ์†์„ฑ ์ถ”๊ฐ€

* test: default ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ ๋ฐ˜์˜

* style: TodayBugResponse ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#101)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ flush() ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ dto ๊ตฌํ˜„

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: ymkim97 <[email protected]>

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ (#102)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* hotfix: config update

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#105)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#107)

* feat: ๊ฒฐ์ œ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค API ๊ตฌํ˜„

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์ฟ ํฐ ์ ์šฉ ํ…Œ์ŠคํŠธ

* test: ์ฃผ๋ฌธ ์ƒ์„ฑ ๋ฐ ๊ธˆ์•ก ํ• ์ธ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ ๋ฐ ์ฆ๊ฐ€ ๋กœ์ง ๊ฒ€์ฆ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* fix: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ์ฃผ๋ฌธ id ์ œ๊ฑฐ

* feat: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ๊ฒฐ์ œ id ์ถ”๊ฐ€

* fix: Transactional ์ ์šฉ

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#113)

* style: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ์ „ ๋Œ€๊ธฐ ์ƒํƒœ ์ถ”๊ฐ€

* feat: ๊ฒฐ์ œ ์š”์ฒญ API ๊ตฌํ˜„

* fix: Valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์š”์ฒญ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์š”์ฒญ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ/์ฃผ๋ฌธ ์œ ๋‹› ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#114)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Syntax ์—๋Ÿฌ๋กœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ž„์‹œ Disabled ์ฒ˜๋ฆฌ

* fix: Redis Yaml ์ถ”๊ฐ€ ์„ค์ •

* test: ์ค‘๋ณต ์ €์žฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: SystemClockHolder -> ClockHolder ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ณ€๊ฒฝ (#117)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ธ ๋ชฉ๋ก ์กฐํšŒ ๋‚ ์งœ๋ณ„ ์กฐํšŒ๋กœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋ฐฉ์ด ์ธ์ฆ๋œ ๋‚ ์งœ๋“ค์€ ์กฐํšŒํ•˜๋Š” ์œ ์ €์˜ ๋‚ ์งœ์—์„œ ์ผ์ฃผ์ผ ์ „๊นŒ์ง€ ๊ฐ€์ ธ์˜ด

* refactor: ์‚ฌ์šฉ์ž์˜ ์ฐŒ๋ฅด๊ธฐ ํ™•์ธ ๊ธฐ๋Šฅ ์ˆ˜์ •

* feat: ์‚ฌ์šฉ์ž๋ณ„ ์ฝ•์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€ ํ™•์ธ ์ถ”๊ฐ€

* feat: Response์— ์š”์ฒญ์ž์˜ memberId ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API(/members/login/kakao/oauth) Get -> Post ๋ณ€๊ฒฝ (#118)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* feat: Get์—์„œ Post๋กœ ๋ณ€๊ฒฝ

* refactor: CookieUtils ๋ณ€๊ฒฝ

* feat: config ๋ณ€๊ฒฝ

* fix: merge confilt ํ•ด๊ฒฐ

* feat: Cookie secure ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฐฉ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#121)

* feat: ๊ฒ€์ƒ‰ Native Query ์ž‘์„ฑ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* test: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž… ํ†ต์ผํ™”

* refactor: controller ํƒ€์ž… ์ˆ˜์ •

* style: ์ฟ ํฐ ๋ฐ ๋…ธ์…˜ ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#122)

* ๏ฟฝfeat: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#128)

* fix: ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ›„ ์ธ์ฆ ์ˆ˜ ์ฆ๊ฐ€ ์ถ”๊ฐ€

* feat: ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค, Dto, Mapper ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ • (#129)

* refactor: ๊ฒฐ์ œ ๊ธˆ์•ก ์ปฌ๋Ÿผ Payment๋กœ ์ด๋™

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ

* feat : ํšŒ์› ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#131)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* ๏ฟฝfeat: Fcm Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#132)

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* refactor: Knock, Fcm ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* style: Coupon ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: Fcm Token null, blank ์ฒ˜๋ฆฌ

* docs: ์ฟ ํฐ ์ €์žฅ์— ๋Œ€ํ•œ RestDoc ์ถ”๊ฐ€

* refactor: AuthMember ์ ์šฉ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: submodule config ๋ณ€๊ฒฝ

* feat: CouponWallet ์—”ํ‹ฐํ‹ฐ & ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„ (#134)

* refactor : ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ๋ณ€๊ฒฝ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ (#136)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* refactor: Sub module Update

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ (#139)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ CouponWallet ์ ์šฉ (#141)

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* fix: ๋ณด์œ ํ•œ ์ฟ ํฐ ์กฐํšŒ ์‹œ fetch join ์ ์šฉ

* test: ์ฟ ํฐ ์ง€๊ฐ‘ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feature: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#142)

* feat: ์ƒˆ ์Šคํ‚จ ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: jpa๊ด€๋ จ config ์„ค์ •

- ๋ฒ„์ „ ํ˜ธํ™˜์˜ค๋ฅ˜๋กœ ์ธํ•œ ๊ธฐ๋ณธ Template์„ค์ •

* feat: ๊ธฐ๋ณธ ์ƒˆ ์Šคํ‚จ ์กฐํšŒ query ์ถ”๊ฐ€

* feat: ํšŒ์›๊ณผ ๋ฒŒ๋ ˆ์— ๋Œ€ํ•œ ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ API ์ถ”๊ฐ€

* style: ๋ฉ”์„œ๋“œ ์ ‘๊ทผ ์ œ์–ด์ž์— ๋”ฐ๋ฅธ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: inventorySearchService ์ œ๊ฑฐ ํ›„ memberService์—์„œ repository ์ถ”๊ฐ€

* refactor: transform์—์„œ stream์œผ๋กœ ๋™์ž‘ ๋ณ€๊ฒฝ

* style: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: nginx ์„ค์ • ํŒŒ์ผ ๋ฆฌํฌ๋งทํŒ…

* hotfix: CorsFilter ์ถ”๊ฐ€

* refactor: ๋ฐฉ/๋ฃจํ‹ด ์ „์ฒด ๋ฆฌํŒฉํ† ๋ง (#143)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: merge ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ

* refactor: ParticipantMapper ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๋ฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์šฉ์ž ์ฟ ํฐ ๋ฐœ๊ธ‰ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ (#146)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ์ ‘๊ทผ ์ œ์–ด์ž, ๋ฉ”์„œ๋“œ๋ช…, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#148)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* refactor: LocalDate ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#149)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐํ•จ ์กฐํšŒ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์ €์žฅ์†Œ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: temporal ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: Stream ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ์ถ”๊ฐ€ (#151)

* fix: cors api ์š”์ฒญ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • APi ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ๋ฐ˜์˜

- ์ผ์‹œ์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ
- ํšŒ์› null๊ฐ’์— ๋Œ€ํ•œ ์˜ˆ์™ธ Objects๋กœ ๋ณ€๊ฒฝ
- ErrorMessage ๋ณ€๊ฒฝ
- ํ…Œ์ŠคํŠธ ์ฝ”๋“œ CsvSource null๊ฐ’ ์ ์šฉ

* refactor: null์ฒดํฌ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์–ด์ˆœ ๋ณ€๊ฒฝ

* feat: ๊ฒฐ์ œ ์Šน์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#154)

* feat: order_id ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค ์„ค์ •

* chore: webflux ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ์Šค ๊ฒฐ์ œ ์œ„์ ฏ ์Šน์ธ API ์—ฐ๋™

* feat: ๊ฒฐ์ œ ์Šน์ธ API ๊ตฌํ˜„

* feat: ๊ฒฐ์ œ ํ…Œ์ด๋ธ”์— couponWalletId ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์Šน์ธ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* feat: ๊ฒฐ์ œ ์Šน์ธ ์‹œ ์ฟ ํฐ ์ฐจ๊ฐ ๋ฐ ๋ฒŒ๋ ˆ ์ถฉ์ „ ๋กœ์ง ์ถ”๊ฐ€

* fix: ์ฟ ํฐ์ด ์ ์šฉ๋œ ๊ฒฝ์šฐ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* chore: config ์—…๋ฐ์ดํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* chore: MockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ํ…Œ์ŠคํŠธ

* fix: checkStyle ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ณตํ†ต ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ถฉ์ „ ์‹œ ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€

* style: ์ค‘๋ณต ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#155)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: Response ๋ถ„๋ฆฌ

* style: ์ค„๋ฐ”๊ฟˆ ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ (#157)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Room version ์‚ญ์ œ

* fix: ์ฝ”๋“œ ์ˆ˜์ •

* feat: Image Type ์ถ”๊ฐ€

---------

Co-authored-by: Dev Uni <[email protected]>

* hotfix: develop-cd docker ์ถ”๊ฐ€

* feat: ๋ฐฉ/ํšŒ์›/์ธ์ฆ ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#158)

* test: ์‚ญ์ œ๋œ ํšŒ์› ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ํšŒ์› ์กฐํšŒ ๋ณ€๊ฒฝ

* feat: ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์‹ ๊ณ  ๊ธฐ๋Šฅ ๋กœ์ง ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์‹ ๊ณ  api ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ„ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐ index ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: CsvSource null ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

* hotfix: config ์—…๋ฐ์ดํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#160)

* Merge branch 'develop' into feature/#75-use-coupon

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์—์„œ ํŠน์ • ํšŒ์›์˜ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์— ์žˆ๋Š” ์ฟ ํฐ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* test: RestDoc ์—…๋ฐ์ดํŠธ

* refactor : ๊ฒฐ์ œ ์ฟ ํฐ ์‚ฌ์šฉ ํ†ตํ•ฉ

* Submodule update

* test: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ถ”๊ฐ€

* feat: ๋ฏธ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ (#161)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ, ์ฐธ์—ฌ ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ๋ถ€๋ฅด๊ธฐ ์ปจํŠธ๋กค๋Ÿฌ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณด์™„

* fix: memberId ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ ๋ณ€๊ฒฝ

* refactor: redirection -> boolean์œผ๋กœ ๋ณ€๊ฒฝ

* fix: Search ์ฟผ๋ฆฌ ์ˆ˜์ •

---------

Co-authored-by: Dev Uni <[email protected]>

* fix: noskin image ๋ณ€๊ฒฝ (#162)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* feat: ๋ฒŒ๋ ˆ ๋ณด์ƒ/์ถฉ์ „/์‚ฌ์šฉ ์‹œ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€ (#165)

* refactor: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* refactor: ๋ฒŒ๋ ˆ ๋ณด์ƒ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* test: ์•„์ดํ…œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: BugService Mock ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ/์ถฉ์ „/๋ณด์ƒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* fix: ๋ถˆํ•„์š”ํ•œ Mock ์ œ๊ฑฐ

* feat: ์•„์ดํ…œ ์ด๋ฏธ์ง€ ๋ฒ„์ „ ์ถ”๊ฐ€ ๋ฐ ๋ฐฉ ๋ฐฐ๊ฒฝ ์—…๋ฐ์ดํŠธ (#167)

* refactor: ์•„์ดํ…œ ํ…Œ์ด๋ธ”์— awakeImage, sleepImage ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ๋ฐฉ ๋ ˆ๋ฒจ์—… ์‹œ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ˆ˜์ •

* chore: ์ด๋ฏธ์ง€ URL์— ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ

* fix: no skin image ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#168)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* test: @BeforeAll Transaction์ ์šฉ ์‹คํŒจ๋กœ ์ธํ•œ merge ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค ์ถ”๊ฐ€

* test: ๊ธฐ๋ณธ URL ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ

* hotfix: schema, item ๋“ฑ๋ก

* hotfix: config ์ˆ˜์ •

* hotfix: sql ์—…๋ฐ์ดํŠธ

* hotfix: item inventory ์ฟผ๋ฆฌ ์ˆ˜์ •

* hotfix: config admin key ์—…๋ฐ์ดํŠธ

* hotfix: config sql init none

* hotfix: config sql init never

* refactor: ์‹ค์‹œ๊ฐ„ ์„ ์ฐฉ์ˆœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#169)

* refactor: ZSET popMin -> range๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๊ด€๋ฆฌ ์ €์žฅ์†Œ popMin -> range๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ฒฐ๊ณผ FCM ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ZSET size ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ฒดํฌ ์Šคํƒ€์ผ ์ˆ˜์ •

* fix: Import ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ก ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ํฌ๊ธฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์‚ญ์ œ

* refactor: addIfAbsent ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ๋ ˆ๋””์Šค SORTED SET ๋ช…๋ น์–ด ํ…Œ์ŠคํŠธ Disabled

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๋ฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ์ฟ ํฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url (#173)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* hotfix: sql init ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: docker-compose mysql

* hotfix: docker-compose mysql

* fix: ๋ฐฉ์žฅ ์ž์‹ ์— ๋Œ€ํ•œ ์ถ”๋ฐฉ ๋ฒ„๊ทธ (#177)

* fix: ๋ฐฉ์žฅ ์ž์‹  ์ถ”๋ฐฉ ๋ชปํ•˜๋„๋ก validate ์ถ”๊ฐ€

* feature: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ์— ๋ฐฉ์žฅ ID ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝ

* Fix/#175 fix member delete error (#178)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„  (#180)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* fix: ์•„์ดํ…œ ์„ ํƒ ์‹œ ๋ฉค๋ฒ„ ๊ธฐ๋ณธ ์Šคํ‚จ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ (#182)

* style: FCM Token Log ์ƒ์„ฑ (#183)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* style: fcm token log

* fix: ๋ฐฉ์žฅ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ฝ”๋“œ ์ˆ˜์ • (#184)

* hotfix: ์ธ์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: ๋ฐฉ์žฅ ๋ฐฉ ์‚ญ์ œ ๋ฒ„๊ทธ

* fix: fcm ํ† ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#185)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: fcm ํ† ํฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* style: ํ•„์š”์—†๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ์ฐธ์—ฌ์ž ์—…๋ฐ์ดํŠธ

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#188)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ throw

* test: ๊ฒฐ์ œ ์Šน์ธ ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* fix: ํ† ์Šค ์Šน์ธ API ์š”์ฒญ ์‹œ Basic ์ธ์ฆ ํ—ค๋”๋กœ ๋ณ€๊ฒฝ

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#193)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์„ฑ๊ณต/์‹คํŒจ ์‹œ ๊ฒฐ๊ณผ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#194)

* fix: ๊ฒฐ์ œ ์ •๋ณด ๊ฒ€์ฆ ๋ฐ ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ๋กœ์ง ํŠธ๋žœ์žญ์…˜ ๋ถ„๋ฆฌ

* test: ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ranking system ๊ตฌํ˜„ (#189)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* fix: record๋ฅผ class๋กœ ๋ฐ”๊ฟ”์„œ ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ (#195)

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* fix: record๋ฅผ class๋กœ ๋ฐ”๊พธ๊ณ  ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ

* fix: approvedAt ์ œ๊ฑฐ (#197)

* fix: ๋ฒŒ๋ ˆ 0๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ ๋‚ด์—ญ ์ €์žฅ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ • (#199)

* chore: ๊ฒฐ์ œ ์‹คํŒจ ์ฒ˜๋ฆฌ ๋กœ์ง์— Transactional ์ ์šฉ

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด์— ๋ฐฉ ์ƒ์„ฑ ๋‚ ์งœ์‹œ๊ฐ„ ์ถ”๊ฐ€ (#201)

* fix: ObjectMapper ์ˆ˜์ • (#202)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝrefactor: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€๊ฒฝ (#203)

* refactor: ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ Body ๋ณ€๊ฒฝ

* refactor: FCM ์•Œ๋ฆผ ํ˜•์‹ ๋ณ€๊ฒฝ

* fix: ObjectMapper ์‚ญ์ œ ์‹คํŒจ ์ˆ˜์ • (#204)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๋ฐ item-data ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#206)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#207)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#208)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* fix: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: nginx ๋กœ๊น… ์ถ”๊ฐ€

* feat: actuator ์™ธ๋ถ€ ์ฐจ๋‹จ

* hotfix: Dockerfile copy ์ˆ˜์ •

* hotfix: deploy-cd Dockerfile ๊ฒฝ๋กœ ์ˆ˜์ •

* hotfix: deploy-cd ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* hotfix: nginx ๋กœ๊น… docker-compose ์—ฐ๊ฒฐ

* hotfix: String to Long Error ์ˆ˜์ •

* fix: MaxUploadSizeExceededException ์˜ˆ์™ธ ๋˜์ง€๊ธฐ (#212)

* fix: 0์‹œ ์ธ์ฆ ๋ฐฉ์—์„œ ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#213)

* fix: 0์‹œ ์ธ์ฆํƒ€์ž„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: nginx client ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ ์ˆ˜์ •

* hotfix: ์ฟ ํฐํ ๋น„์–ด์žˆ์„ ์‹œ, ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํšŸ์ˆ˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์Šค์›จ๊ฑฐ ๋„์ž…

* hotfix: ์Šค์›จ๊ฑฐ ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#215)

* chore: ๊ธฐ๋ณธ ์ƒ์  ์ƒํ’ˆ ์ฟผ๋ฆฌ ์ˆ˜์ •

* chore: slack api client ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„

* chore: slack webhook url config ์ถ”๊ฐ€

* fix: build ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋ฐฉ ์ˆ˜์ •์—์„œ ๋ฃจํ‹ด ์ˆ˜์ • ์ œ์™ธ (#217)

* feat: admin login (#216)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: mysql ํ…Œ์ด๋ธ” init ์—…๋ฐ์ดํŠธ

* hotfix: config ์—…๋ฐ์ดํŠธ

* hotfix: 00์‹œ ์ธ์ฆ ํƒ€์ž„ ์ˆ˜์ •

* refactor: ๋ฐฉ ์ธ์ฆ ๊ธฐํš ๊ด€๋ จ ์ˆ˜์ • (#219)

* refactor: ๋ฐฉ ์ธ์ฆ ์‹œ๊ฐ„ ์ •๊ฐ๋ถ€ํ„ฐ 10๋ถ„๊นŒ์ง€๋กœ ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž ์ค‘ ํ•œ๋ช… ์ด์ƒ์ด ์ธ์ฆ ํ–ˆ์„ ์‹œ ๋ฐฉ ์‹œ๊ฐ„ ์ˆ˜์ • ๋ชปํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* ๏ฟฝfix: ์ธ์ฆ๋œ ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ํ›„ ๋ฐฉ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#221)

* fix: ์ธ์ฆํ•˜๊ณ  ๋‚˜๊ฐ„ ์ฐธ์—ฌ์ž ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

* fix: ์ธ์ฆ๋œ ๋ฐฉ์ด ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* fix: ๋ฐฉ์˜ ์ธ์ฆ ์‹œ๊ฐ„์—๋Š” ์ž…์žฅํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ˆ˜์ • (#223)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ (#226)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ

* docs: mysql ์ˆ˜์ •

* fix: checkstyle

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์ด ๋ณต์‚ฌ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#228)

* hotfix: distinct ์ถ”๊ฐ€

* fix: ๊ธฐ์—ฌ๋„ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#230)

* fix: admin token (#231)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝfix: ์ธ์ฆ์œจ ํ•˜๋ฝ ๋ฒ„๊ทธ ์ˆ˜์ • (#233)

* refactor: ์ฝ”๋“œ ์ •๋ฆฌ

* fix: ์ธ์ฆ์œจ ํ•˜๋ฝ ์ˆ˜์ •

* fix: admin token fix (#234)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ์„ค์ • ์˜ค๋ฅ˜ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ธฐ๋Šฅ rollback

* feat: ์—๋Ÿฌ ๋กœ๊ทธ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#237)

* chore: logback slack appender ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ํŒŒ์ผ ์ž‘์„ฑ

* fix: admin token fix (#235)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ฒ„ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ๋„๋ฉ”์ธ ๊ด€๋ จ SameSite๋ฅผ None์œผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* fix: date equals ์ ์šฉ (#239)

* feat: exception AOP ๋กœ๊ทธ ์ถ”๊ฐ€ (#241)

* feat: ExceptionHandler AOP ์ ์šฉ

* refactor: ์ˆ˜์ •

* refactor: checkstyle ์ ์šฉ

* refactor: ๋ฐฉ, filter, aop ์ˆ˜์ • (#243)

* fix: ๋ฐฉ ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ, AOP ์ˆ˜์ •

* hotfix: date equals ์ ์šฉ

* fix: ํšŒ์› ์‚ญ์ œ์— ๋Œ€ํ•œ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ

* feat: sql ์ˆ˜์ •

* refactor: ๋ฒณ์ง€ init sql ์ˆ˜์ •

* refactor: ๋ฐฉ ์ด๋ฏธ์ง€ ์ •๋ณด ๋ณ€๊ฒฝ

* fix: ๋ฐฉ์˜ exp ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* hotfix: ํšŒ์› ์‚ญ์ œ ๋กœ์ง ๋ณ€๊ฒฝ

* hotfix: ๋žญํ‚น ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ๋ฐฉ ์กฐํšŒ ์ˆ˜์ •

* feat: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„

* fix: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ cd ์ˆ˜์ •

* fix: log AOP ์ œ๊ฑฐ ๋ฐ SlackExceptionHandler ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

---------

Co-authored-by: Kim Heebin <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>
Co-authored-by: Park Seyeon <[email protected]>
Co-authored-by: ํ™ํ˜์ค€ <[email protected]>
Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: HyuckJuneHong <[email protected]>
Shin-Jae-Yoon added a commit that referenced this pull request Dec 3, 2023
* chore: sonarcloud ๋ฐ jacoco ์„ธํŒ…

* chore: checkstyle ์„ธํŒ…

* chore: gitignore ์ˆ˜์ •

* docs: PR ํ…œํ”Œ๋ฆฟ ์ˆ˜์ •

* feat: ๊ณตํ†ต๋œ ํด๋ž˜์Šค ์ถ”๊ฐ€ ์ž‘์—… (#4)

* feat: Exception ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Config ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: Entity ๊ด€๋ จ ํด๋ž˜์Šค ์ถ”๊ฐ€

* fix: intellij-formatter line-separator (#10)

* feat: ํšŒ์› Authorization Grant์™€ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ƒ์„ฑ, ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#20)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#21)

* feat: Bug ์ž„๋ฒ ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* docs: PR merge ์‹œ, Issue ์ž๋™ close๋กœ ์ˆ˜์ •

* refactor: ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ์ž id ํฌํ•จ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* style: dto ๋‚ด bug ํŒจํ‚ค์ง€ ์ œ๊ฑฐ

* test: Bug ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ

* style: ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ controller ํ…Œ์ŠคํŠธ

* refactor: private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* test: ๋ฉค๋ฒ„ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฒŒ๋ ˆ fixture ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋ฉค๋ฒ„ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ์— Bug ์ถ”๊ฐ€

* fix: code smell ์ œ๊ฑฐ

* style: BugMapper ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์— ParameterizedTest ์ ์šฉ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#22)

* fix: SQL syntax ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํ’ˆ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ

* style: return ์ „ ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

* feat: Authorization Server๋กœ ๋ถ€ํ„ฐ ํ† ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#24)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#26)

* feat: Redis ์ดˆ๊ธฐ ์„ค์ •

* feat: FCM ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ์„œ๋น„์Šค ๋ฐ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„

* fix: Redis Reposi ์ถ”์ƒ ํด๋ž˜์Šค ์ œ๊ฑฐ ๋ฐ ํ…Œ์ŠคํŠธ Profile ๋ณ€๊ฒฝ

* test: StringRedisRepository ํ…Œ์ŠคํŠธ

* test: NotificationRepository ํ…Œ์ŠคํŠธ

* feat: NullPointerException ์˜ˆ์™ธ ํ•ธ๋“ค๋ง ์ฒ˜๋ฆฌ

* test: NotificationService ํ…Œ์ŠคํŠธ

* refacotr: PostConstruct๋ฅผ Bean์œผ๋กœ ๋ณ€๊ฒฝ

* refactor : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Profile ๋ณ€๊ฒฝ

* fix: redis ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* fix : Redis ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : Member Role Default ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: firebase config ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* fix: ์—๋Ÿฌ ์ฐพ๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ์„ค์ •

* fix: CI๊ฐ€ ์„œ๋ธŒ๋ชจ๋“ˆ ๊ฒฝ๋กœ๋ฅผ ๋ชป์ฐพ๋Š” ์—๋Ÿฌ ํ•ด๊ฒฐ

* test: Redis Repository ํ…Œ์ŠคํŠธ ๋ฐ ๋กœ๊ทธ ์‚ญ์ œ

* style: ๋ฉ”์„œ๋“œ๋ช… ๋ฐ ์ค„๋ฐ”๊ฟˆ ์„ค์ •

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ์ €์žฅ ์‹œ, ํ‚ค๊ฐ’ ๋ฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#28)

* feat: Room, Participant, Routine, Certification ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: Room ์—”ํ‹ฐํ‹ฐ ์ธ์ฆ ์‹œ๊ฐ„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* test: Room ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Room ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: DynamicQuery Jacoco ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฐฉ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ˆ˜์ • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: Member ๊ด€๋ จ ํŒŒ์ผ ์ด๋™

* refactor: checkStyle์— ๋งž์ถฐ์„œ ๋ณ€๊ฒฝ

* test: ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* chore: Apache Commons Lang ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: test yml JPA ๋กœ๊ทธ ์ถ”๊ฐ€

* test: ๋ฐฉ ์ฐธ์—ฌ, ๋‚˜๊ฐ€๊ธฐ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ๊ตฌํ˜„ ๋งˆ๋ฌด๋ฆฌ

* fix: Morning -> Night ์ˆ˜์ •

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋ฐฉ ID๋กœ ์กด์žฌ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์˜คํƒ€ ์ˆ˜์ •

* fix: ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ถˆ๊ฐ€ ํ•ด๊ฒฐ

* fix: CI ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋ฐฉ ์ˆ˜์ •์— ํ•„์š”ํ•œ ํ•„๋“œ ์ถ”๊ฐ€ (#36)

* feat: ec2 dev ์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„ (#40)

* chore: submodule ์—…๋ฐ์ดํŠธ

* feat: docker-compose ํŒŒ์ผ ์„ธํŒ…

* feat: nginx ํ…œํ”Œ๋ฆฟ ์„ค์ •

* feat: Dockerfile ์„ค์ •

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ž‘์„ฑ

* feat: HealthCheckController ๊ตฌํ˜„

* chore: build.gradle ์ปค๋ฒ„๋ฆฌ์ง€ ํ•ญ๋ชฉ ์ œ์™ธ ์ถ”๊ฐ€

* feat: github actions ci, cd ์ž‘์„ฑ

* style: ci ํŒŒ์ผ ์˜คํƒ€ ์ˆ˜์ •

* hotfix: submodule mysql ์ˆ˜์ •

* feat: social ํšŒ์› ํ† ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#37)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* fix: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#41)

* refactor: ResponseStatus + DTO ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ, ์ธ๋ฒคํ† ๋ฆฌ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: containsExactly ๊ฒ€์ฆ์œผ๋กœ ์ˆ˜์ •

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Service ํ…Œ์ŠคํŠธ

* test: ์ธ๋ฒคํ† ๋ฆฌ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: Stream ์œ ํ‹ธ ํด๋ž˜์Šค ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: ItemFixture๋ฅผ ํ†ตํ•œ ์•„์ดํ…œ ์ƒ์„ฑ ์‹œ build() ์ถ”๊ฐ€

* test: ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* feat: MethodArgumentTypeMismatchException handler ์ถ”๊ฐ€

* test: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* fix: Mapper ์ƒ์„ฑ์ž ์ ‘๊ทผ ๋ ˆ๋ฒจ private์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ItemType ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* refactor: ์ž˜๋ชป๋œ ์š”์ฒญ ํƒ€์ž… ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ƒ์ˆ˜ํ™”

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„ (feat. RestDoc, Embedded Redis) (#43)

* feat: RestDoc ๊ธฐ๋ณธ ์„ค์ •

* feat: Embedded Redis ํ™˜๊ฒฝ ๊ตฌ์ถ•

* style: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ ๋ฐ ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ API ๊ตฌํ˜„

* refactor: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ํ‚ค ์ƒ์„ฑ ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: redis docker ์ฃผ์„ ์ฒ˜๋ฆฌ

* chore: dump.rdb ์‚ญ์ œ

* chore: develop-cd Redis ์ฃผ์„์ฒ˜๋ฆฌ

* style: ์ฃผ์„ ์‚ญ์ œ

* style: Constant ๋ถ„๋ฆฌ

* refacotr: String.format์„ ํ™œ์šฉํ•ด Knock Key ์ƒ์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#44)

* refactor: Mapper ํด๋ž˜์Šค ์„ ์–ธ ํ†ต์ผ

* refactor: service, mapper ์ˆ˜์ •

* fix: Room nullable๋กœ ์ˆ˜์ •

* chore: highlight sql ์„ค์ • ์ถ”๊ฐ€

* feat: ๋ฐฉ๊ณผ ๊ฐ ๋ฐฉ์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์—ฌ๋ถ€ ์ €์žฅ์„ ์œ„ํ•œ Entity ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ์— ํ•„์š”ํ•œ DTO, Mapper ์ถ”๊ฐ€

* feat: ๋ฐฉ์žฅ ์ •๋ณด ๋ถ€๋ฅด๋Š” querydsl

* feat: ์ธ์ฆ์— ๋Œ€ํ•œ ์ •๋ณด Mapper, querydsl ์ถ”๊ฐ€

* feat: Participant, Routine ์ˆ˜์ •, Search querydsl ์ž‘์„ฑ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ service, controller

* test: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: checkstyle ์ˆ˜์ •

* feat: ์•„์ดํ…œ ์ ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#45)

* feat: ์•„์ดํ…œ ์ ์šฉ API ๊ตฌํ˜„

* test: ์•„์ดํ…œ ์ ์šฉ Service ํ…Œ์ŠคํŠธ

* test: Controller ํ…Œ์ŠคํŠธ @WebMvcTest๋กœ ๋ณ€๊ฒฝ

* test: ์•„์ดํ…œ ์ ์šฉ Controller ํ…Œ์ŠคํŠธ

* style: support ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* test: RepositoryTest ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* test: ๋™์ผ ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ Nested๋กœ ์ฒ˜๋ฆฌ

* feat: ํ˜„์žฌ ์ ์šฉ๋œ ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ ์‹œ ์•„์ดํ…œ ํƒ€์ž… ์ •๋ณด ์ถ”๊ฐ€

* test: ์ธ๋ฒคํ† ๋ฆฌ ์กฐํšŒ Repository ํ…Œ์ŠคํŠธ

* fix: merge conflict ํ•ด๊ฒฐ

* test: given-willReturn ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#49)

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๋ถ€๋ถ„ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Mapper ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋ฐฉ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ˆ˜์ •

* refactor: createRoom roomId ๋ฐ˜ํ™˜ํ•˜๋„๋ก refactor

* feat: ํšŒ์› ์ƒ์„ฑ ๋ฐ ๋กœ๊ทธ์ธ ์‘๋‹ต ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#47)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#50)

* feat: ์ธ์ฆ ํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋„์ž…

* test: ์ธ์ฆํƒ€์ž„์— ๋”ฐ๋ฅธ ์ฃผ๊ธฐ์  ์•Œ๋ฆผ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Restdoc ํŒŒ์ผ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: checkstyle ์ˆ˜์ •

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: config update (#51)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#53)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#54)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ๊ด€๋ จ Entity ์ƒ์„ฑ

* feat: ์•„์ดํ…œ ๊ตฌ๋งค API ๊ตฌํ˜„

* refactor: Bug -> Wallet ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: Bug๋กœ ๋„ค์ด๋ฐ ์žฌ์ˆ˜์ •

* refactor: Entity ์ƒ์„ฑ ๋กœ์ง Mapper๋กœ ์ด๋™

* fix: isDefault nullable ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ๋ ˆ๋ฒจ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ์ˆ˜์ •

* test: ์•„์ดํ…œ ๊ตฌ๋งค Service ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ Entity ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ Entity ํ…Œ์ŠคํŠธ

* test: ์•„์ดํ…œ ๊ตฌ๋งค Controller ํ…Œ์ŠคํŠธ

* style: decrease๋กœ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ํ•ด๋‹น ๋ฒŒ๋ ˆ ํƒ€์ž…์˜ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: Table ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#57)

* feat: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ์„ค๊ณ„

* test: Coupon Entity ํ…Œ์ŠคํŠธ

* refactor: ์ดˆ๊ธฐ๊ฐ’ 0์—์„œ 1๋กœ ์ง€์ •

* feat: ์ฟ ํฐ ์ข…๋ฅ˜์— ๋Œ€ํ•œ ์กฐํšŒ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์ปฌ๋Ÿผ์œผ๋กœ ๊ด€๋ฆฌ์ž ์•„์ด๋”” ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž์˜ ์ฟ ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ์—”ํ‹ฐํ‹ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: test ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* fix: CheckStyle ์ˆ˜์ •

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* feat: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ (#60)

* feat: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ Display ๋ฐ Adoc ์ˆ˜์ •

* test: RestDoc ๋ฌธ์„œ ๊ฒฐ๊ณผ

* refactor: type -> couponType์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์กฐํšŒ ๋ฐ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ฟผ๋ฆฌ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋ฐ CouponResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* fix: ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ž˜๋ชป๋œ ์ฟผ๋ฆฌ ์ˆ˜์ •

* test: ํŠน์ • ์ฟ ํฐ ๋ฐ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› annotation ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต (#62)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฃจํ‹ด ์ธ์ฆ ๋ฐ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#63)

* feat: ์„œ๋ฒ„ ์‹œ๊ฐ„ ์ฒดํฌ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* feat: ๋ฃจํ‹ด ์ธ์ฆ ๊ธฐ๋Šฅ ๋ฐ ClockHolder ๊ตฌํ˜„

* feat: UrlSubstringParser ๊ตฌํ˜„

* test: ๋ฃจํ‹ด ์ธ์ฆ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ๋ฐฉ ๊ณต์ง€ ๊ธธ์ด ์ˆ˜์ •

* feat: constant ๋ฐ error ์ž‘์„ฑ

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ

* chore: build.gradle s3 ์ถ”๊ฐ€

* Merge branch 'develop' into feature/#8-upload-image

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: CertificationsSearchRepository ํ…Œ์ŠคํŠธ

* chore: s3Manager ์ปค๋ฒ„๋ฆฌ์ง€ ์ œ์™ธ

* refactor: UrlParser ์ฝ”๋“œ์Šค๋ฉœ ์ œ๊ฑฐ

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>

* feat: healthCheck path ์ถ”๊ฐ€ (#66)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* Revert "feat: healthCheck path ์ถ”๊ฐ€ (#66)" (#71)

This reverts commit baf4703.

* fix: config ์ตœ์‹ ํ™” (#72)

* feat: ํšŒ์› ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค OAuth ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํด๋ž˜์Šค ๋ฐ”์ธ๋”ฉ

* feat: authorization code๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ queryString generator ์ถ”๊ฐ€

* feat: Authorization code์˜ parameter ๋งŒ๋“œ๋Š” ๋กœ์ง ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์š”์ฒญ api ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ˜ํ™˜

* refactor: member๊ด€๋ จ ํด๋ž˜์Šค ๋„ค์ด๋ฐ๊ณผ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์š”์ฒญ ๋ฐฉ์‹ Resttemplate -> response (redirect)ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* style: ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* chore: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์žฌ์ ์šฉ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: CRLF -> LF๋กœ ๋ณ€๊ฒฝ

* fix: config ์ปค๋ฐ‹, config ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: revert merge

* fix: merge confiltํ•ด๊ฒฐ ๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* test: oauth properties๊ฐ€ ์—†์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ code smell ์ œ๊ฑฐ

* feat: Authorization grant ๋ฐ›๊ธฐ ์˜ˆ์™ธ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Authorization Token ์š”์ฒญ ๋ฐ ๋ฐ˜ํ™˜ ์ฝ”๋“œ, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: AuthenticationService์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ๋ณด๋‚ด๋Š” ๋กœ์ง OAuth2AuthorizationServerRequestService๋กœ ๋ถ„๋ฆฌ

* test: ๋กœ๊ทธ์ธ ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ RestTemplate ํ•„๋“œ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ

* test: restTemplate ๋ฐ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refacotr: ๋ณ€์ˆ˜๋ช… ๋ฐ entity default ๋ช… ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ํ† ํฐ ์ •๋ณด ์กฐํšŒ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ & Resttemplate ํ…ŒํฌํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: encoding, formatting, tab ๋ฌธ์ œ๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ž‘์„ฑ

* feat: JWT ํ† ํฐ ์ œ๊ณต ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ธ์ฆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ํšŒ์›์˜ socialId string -> long์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์žฌ ์„ค์ •

* feat: config ํŒŒ์ผ ์—…๋ฐ์ดํŠธ

* feat: Window์šฉ ํฌํŠธ redis ํฌํŠธ ๋ณ€๊ฒฝ ์ถ”๊ฐ€

* refacotr: develop ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ merge

* refactor: develop ์—…๋ฐ์ดํŠธ ๋ถ€๋ถ„ merge

* fix: TimeConfig ์‚ญ์ œ ๋ฐ ์ฝ”๋“œ ์Šค๋ฉœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฅด๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: submodule update

* feat: ๋ฉ”์„œ๋“œ ํŒŒ์‹ฑ customizing ๋ฐ @CurrentMember AuthorizationMember ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์ธ๊ฐ€ํšŒ์›์— ๋Œ€ํ•œ ๊ฐ์ฒด ThreadLocalMap์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ํšŒ์› ์ •๋ณด Optional ์ •๋ณด ์กฐํšŒ ๋ฒ„๊ทธ fix, socialId requiredNotNull์ถ”๊ฐ€ ๋“ฑ ์—๋Ÿฌ ์ˆ˜์ •

* feat: API์š”์ฒญ Path ๋ฐ ์ธ์ฆ์— ๋”ฐ๋ฅธ filter ์ถ”๊ฐ€

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember ํ…Œ์ŠคํŠธ support ์ถ”๊ฐ€

* test: authorizationfilter ๋ฐ pathfilter ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› repostiory ๋ฐ fixture ์ถ”๊ฐ€

* test: filter support ํด๋ž ์Šค ์ถ”๊ฐ€

* test: filter support ํด๋ž˜์Šค ์ ์šฉ

* refactor: PublicClaim ๋ณ€ํ™˜ ์ฑ…์ž„ ๋ณ€๊ฒฝ

* test: PathResolver, CurrentMemberArgumentResovlerํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ๋ชจ๋“  ์ฟ ํ‚ค secure ์ ์šฉ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ

* refactor: webConfig Path ๋งคํ•‘ ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: healthcheck path ์ถ”๊ฐ€

* fix: config ๋ณ€๊ฒฝ

* refactor: merge ๋ณ€๊ฒฝ

* refactor: ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#73)

* refactor: ๋ฐฉ ๊ด€๋ จ ์„œ๋น„์Šค ๋ถ„๋ฆฌ (#79)

* chore: gitignore ์ถ”๊ฐ€

* refactor: Room ๊ด€๋ จ Service ๋ถ„๋ฆฌ

* ๏ฟฝfeat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#81)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#80)

* feat: ์˜ค๋Š˜ ์–ป์€ ๋ฒŒ๋ ˆ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ์ฟผ๋ฆฌ 1๋ฒˆ์œผ๋กœ ์ˆ˜์ •

* feat: @CurrentMember ์ ์šฉ

* test: ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* test: ์˜ค๋Š˜ ๋ณด์ƒ ๋ฒŒ๋ ˆ ์กฐํšŒ Controller ํ…Œ์ŠคํŠธ

* test: memberService mock ์ฒ˜๋ฆฌ

* chore: enum ๋น„๊ต equals๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ Authorization Member ์ ์šฉ ๏ฟฝ๋ฆฌํŒฉํ„ฐ๋ง (#82)

* refactor: Coupon์— Authorization Member ์ ์šฉ

* test: Authorization Member ์ ์šฉ๋œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ

* fix: ์ธํ”„๋ผ ci/cd ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#84)

* feat: nginx conf ์ˆ˜์ • ๋ฐ ๋ถ„๋ฆฌ

* feat: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ถ”๊ฐ€

* feat: docker-compose nginx volume ์ˆ˜์ •

* feat: ci, cd ํŒŒ์ผ ์ˆ˜์ •

* feat: dev ์„œ๋ฒ„ ํ”„๋ก ํŠธ

* chore: config ์—…๋ฐ์ดํŠธ

* chore: code smell ์ œ๊ฑฐ

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: env ํŒŒ์ผ ์ƒ์„ฑ ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* hotfix: ํŒŒ์ผ cd ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#86)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: nginx conf

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ์•„์ดํ…œ/์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง ๋ฐ @CurrentMember ์ ์šฉ  (#87)

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ์— @CurrentMember ์ ์šฉ

* refactor: ์•„์ดํ…œ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒํ’ˆ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* test: ์„ฑ๊ณต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* hotfix: kakao path ์ œ์™ธ ์ถ”๊ฐ€

* refactor: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ @CurrentMember ์ ์šฉ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง (#89)

* feat: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ์žฅ ์œ„์ž„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ์ด ์•„๋‹Œ ์œ ์ €์˜ ์š”์ฒญ์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€

* feat: participant deletedAt null์ผ๋•Œ ์ฐพ๋„๋ก ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ถ”๋ฐฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ถ”๋ฐฉ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: nginx conf ์ˆ˜์ •

* refactor: nginx conf ์ถ”๊ฐ€ ์ˆ˜์ •

* refactor: BugSearchRepository ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: RoomController @CurrentMember ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* style: ์ฟ ํฐ ๋ฐ ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#90)

* feat: ํ† ํฐ redis ์ €์žฅ (#91)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: null ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: config ์ˆ˜์ •

* refactor: merge confilt ์ˆ˜์ •

* refacotr: code smell ๋กœ์ง ๋ณ€๊ฒฝ

* fix: config ์ˆ˜์ • (#98)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ (#95)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* hotfix: redis config ํŒŒ์ผ ์ˆ˜์ •

* refactor: ๋ฒŒ๋ ˆ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#97)

* refactor: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ์กฐํšŒ API URL ๋ณ€๊ฒฝ

* style: ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ Response์— ํ˜„์žฌ ์ ์šฉ๋œ ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ (#100)

* feat: ์•„์ดํ…œ ๋ชฉ๋ก ์กฐํšŒ ์‹œ defaultItemId ์†์„ฑ ์ถ”๊ฐ€

* test: default ์•„์ดํ…œ ์†์„ฑ ์ถ”๊ฐ€ ๋ฐ˜์˜

* style: TodayBugResponse ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#101)

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ด€๋ จ Repository ๊ตฌํ˜„

* test: ์ฐธ์—ฌ์ค‘์ธ ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ flush() ์ˆ˜์ •

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ dto ๊ตฌํ˜„

* feat: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: ymkim97 <[email protected]>

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ (#102)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* hotfix: config update

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#105)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#107)

* feat: ๊ฒฐ์ œ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค API ๊ตฌํ˜„

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์ฟ ํฐ ์ ์šฉ ํ…Œ์ŠคํŠธ

* test: ์ฃผ๋ฌธ ์ƒ์„ฑ ๋ฐ ๊ธˆ์•ก ํ• ์ธ ํ…Œ์ŠคํŠธ

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ ๋ฐ ์ฆ๊ฐ€ ๋กœ์ง ๊ฒ€์ฆ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* fix: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ์ฃผ๋ฌธ id ์ œ๊ฑฐ

* feat: ์ƒํ’ˆ ๊ตฌ๋งค Response์— ๊ฒฐ์ œ id ์ถ”๊ฐ€

* fix: Transactional ์ ์šฉ

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#113)

* style: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฒฐ์ œ ์š”์ฒญ ์ „ ๋Œ€๊ธฐ ์ƒํƒœ ์ถ”๊ฐ€

* feat: ๊ฒฐ์ œ ์š”์ฒญ API ๊ตฌํ˜„

* fix: Valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์š”์ฒญ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์š”์ฒญ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ/์ฃผ๋ฌธ ์œ ๋‹› ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#114)

* refactor: ์ฟ ํฐ ๋ฐ ํ† ํฐ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์•Œ๋ฆผ ํŒจํ‚ค์ง€ ๋ฐ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ, Fcm ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: Syntax ์—๋Ÿฌ๋กœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ž„์‹œ Disabled ์ฒ˜๋ฆฌ

* fix: Redis Yaml ์ถ”๊ฐ€ ์„ค์ •

* test: ์ค‘๋ณต ์ €์žฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: SystemClockHolder -> ClockHolder ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ณ€๊ฒฝ (#117)

* feat: ๋ฐฉ ์ „์ฒด ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* refactor: ๋ฐฉ์žฅ member ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ dto ์ถ”๊ฐ€

* feat: ๋ฐฉ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์„œ๋น„์Šค, ์ปจํŠธ๋กค๋Ÿฌ ์ˆ˜์ •

* test: ์„œ๋น„์Šค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ํ”ผ์—ฐ์‚ฐ์ž Long์œผ๋กœ ์ˆ˜์ •

* feat: ๋ฐฉ ์ƒ์„ธ ๋ชฉ๋ก ์กฐํšŒ ๋‚ ์งœ๋ณ„ ์กฐํšŒ๋กœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋ฐฉ์ด ์ธ์ฆ๋œ ๋‚ ์งœ๋“ค์€ ์กฐํšŒํ•˜๋Š” ์œ ์ €์˜ ๋‚ ์งœ์—์„œ ์ผ์ฃผ์ผ ์ „๊นŒ์ง€ ๊ฐ€์ ธ์˜ด

* refactor: ์‚ฌ์šฉ์ž์˜ ์ฐŒ๋ฅด๊ธฐ ํ™•์ธ ๊ธฐ๋Šฅ ์ˆ˜์ •

* feat: ์‚ฌ์šฉ์ž๋ณ„ ์ฝ•์ฐŒ๋ฅด๊ธฐ ์—ฌ๋ถ€ ํ™•์ธ ์ถ”๊ฐ€

* feat: Response์— ์š”์ฒญ์ž์˜ memberId ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API(/members/login/kakao/oauth) Get -> Post ๋ณ€๊ฒฝ (#118)

* feat: profile ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ cookie ์„ค์ • ๋ถ„๋ฆฌ ๋ฐ config ์—…๋ฐ์ดํŠธ

* test: profile์— ๋”ฐ๋ฅธ ์ฟ ํ‚ค ์ƒ์„ฑ ํ…Œ์ŠคํŠธ

* feat: Get์—์„œ Post๋กœ ๋ณ€๊ฒฝ

* refactor: CookieUtils ๋ณ€๊ฒฝ

* feat: config ๋ณ€๊ฒฝ

* fix: merge confilt ํ•ด๊ฒฐ

* feat: Cookie secure ์ถ”๊ฐ€

* ๏ฟฝfeat: ๋ฐฉ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#121)

* feat: ๊ฒ€์ƒ‰ Native Query ์ž‘์„ฑ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋ฐฉ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* feat: ๋ฐฉ ๊ฒ€์ƒ‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ตฌํ˜„

* test: ๋ฐฉ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž… ํ†ต์ผํ™”

* refactor: controller ํƒ€์ž… ์ˆ˜์ •

* style: ์ฟ ํฐ ๋ฐ ๋…ธ์…˜ ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#122)

* ๏ฟฝfeat: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#128)

* fix: ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ํ›„ ์ธ์ฆ ์ˆ˜ ์ฆ๊ฐ€ ์ถ”๊ฐ€

* feat: ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค, Dto, Mapper ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ • (#129)

* refactor: ๊ฒฐ์ œ ๊ธˆ์•ก ์ปฌ๋Ÿผ Payment๋กœ ์ด๋™

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API ์ œ๊ฑฐ

* feat : ํšŒ์› ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#131)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* ๏ฟฝfeat: Fcm Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#132)

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FCM Token ์ €์žฅ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* refactor: Knock, Fcm ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* style: Coupon ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: Fcm Token null, blank ์ฒ˜๋ฆฌ

* docs: ์ฟ ํฐ ์ €์žฅ์— ๋Œ€ํ•œ RestDoc ์ถ”๊ฐ€

* refactor: AuthMember ์ ์šฉ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: submodule config ๋ณ€๊ฒฝ

* feat: CouponWallet ์—”ํ‹ฐํ‹ฐ & ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„ (#134)

* refactor : ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ๋ณ€๊ฒฝ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ (#136)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* refactor: Sub module Update

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ (#139)

* feat: ํ† ํฐ redis ์ €์žฅ์„ ์œ„ํ•œ dto ๋ฐ config ์ถ”๊ฐ€

* feat: webConfig ํŒŒ์ผ ์ถ”๊ฐ€

* feat: redis ํ† ํฐ ์ €์žฅ ์„œ๋น„์Šค ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ์‹œ ๋ชจ๋“  ํ† ํฐ ์ œ๊ฑฐ ์ถ”๊ฐ€

* refactor: config update

* feat: config ์ถ”๊ฐ€

* refactor: code smell ์ œ๊ฑฐ

* feat: logout ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์‚ฌ์šฉ์ž nickname ์ƒ์„ฑ ๋ฐ ๋žœ๋ค ์‚ญ์ œ ID๋ถ€์—ฌ ์ œ๊ณต

* refacotr: @transaction์ œ๊ฑฐ, redis๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ๋ถˆํ•„์š”

* feat: ์‚ญ์ œ ์š”์ฒญ ์ถ”๊ฐ€

* refactor: member mapper ๋ฉ”์„œ๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ AuthMapper -> MemberMapper

* refacotr: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ socialId long->String

* feat: ํšŒ์›ํƒˆํ‡ด ์š”์ฒญ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: restTemplate ์š”์ฒญ ๋ฐ˜ํ™˜ ๊ฐ’ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์š”์ฒญ์— ๋Œ€ํ•œ api ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํšŒ์› ํƒˆํ‡ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ Authํ…Œ์ŠคํŠธ์™€ memberํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ํƒˆํ‡ด ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ restTemplate์š”์ฒญ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ๋ฐ ํšŒ์› ์กฐํšŒ ์ฟผ๋ฆฌ ์ƒ์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ test config ๋ณ€๊ฒฝ

* feat: WebConfig path ์ˆ˜์ •

* feat: ์‚ญ์ œํ•  ํšŒ์› ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refacotr: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ์ธ get ๋ฉ”์„œ๋“œ uri๋ณ€๊ฒฝ ๋ฐ AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager ๋ฉ”์„œ๋“œ ๋ช… findMemberNotManager ๋ณ€๊ฒฝ

* refactor: ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ CouponWallet ์ ์šฉ (#141)

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* fix: ๋ณด์œ ํ•œ ์ฟ ํฐ ์กฐํšŒ ์‹œ fetch join ์ ์šฉ

* test: ์ฟ ํฐ ์ง€๊ฐ‘ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feature: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#142)

* feat: ์ƒˆ ์Šคํ‚จ ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* chore: jpa๊ด€๋ จ config ์„ค์ •

- ๋ฒ„์ „ ํ˜ธํ™˜์˜ค๋ฅ˜๋กœ ์ธํ•œ ๊ธฐ๋ณธ Template์„ค์ •

* feat: ๊ธฐ๋ณธ ์ƒˆ ์Šคํ‚จ ์กฐํšŒ query ์ถ”๊ฐ€

* feat: ํšŒ์›๊ณผ ๋ฒŒ๋ ˆ์— ๋Œ€ํ•œ ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* refactor: ํšŒ์›๊ณผ Item ์„œ๋น„์Šค์˜ ์˜์กด์„ฑ ์ˆœํ™˜์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด inventorySearchService ์ƒ์„ฑ

* feat: ํšŒ์› ์ •๋ณด ์กฐํšŒ API ์ถ”๊ฐ€

* style: ๋ฉ”์„œ๋“œ ์ ‘๊ทผ ์ œ์–ด์ž์— ๋”ฐ๋ฅธ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: inventorySearchService ์ œ๊ฑฐ ํ›„ memberService์—์„œ repository ์ถ”๊ฐ€

* refactor: transform์—์„œ stream์œผ๋กœ ๋™์ž‘ ๋ณ€๊ฒฝ

* style: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: nginx ์„ค์ • ํŒŒ์ผ ๋ฆฌํฌ๋งทํŒ…

* hotfix: CorsFilter ์ถ”๊ฐ€

* refactor: ๋ฐฉ/๋ฃจํ‹ด ์ „์ฒด ๋ฆฌํŒฉํ† ๋ง (#143)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: merge ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ

* refactor: ParticipantMapper ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ์š”์ฒญ ๋ฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์šฉ์ž ์ฟ ํฐ ๋ฐœ๊ธ‰ ์ฒ˜๋ฆฌ ๊ตฌํ˜„ (#146)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ํ…Œ์ŠคํŠธ ์ ‘๊ทผ ์ œ์–ด์ž, ๋ฉ”์„œ๋“œ๋ช…, ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ (#148)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* refactor: LocalDate ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#149)

* style : Schedule ์–ด๋…ธํ…Œ์ด์…˜ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋ฐœํ–‰ ๊ธฐ๊ฐ„ ํ•˜๋ฃจ๋กœ ํ†ต์ผ ๋ฐ ์ฟ ํฐ ์ •๋ณด ์˜คํ”ˆ ๋‚ ์งœ ์ถ”๊ฐ€

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ฐ€๋Šฅ ๋‚ ์งœ ์ค‘๋ณต ์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Builder ์‚ญ์ œ

* test: ์ฟ ํฐ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ๋ฌธ์ž์—ด ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ฐœํ–‰ ๊ด€๋ จ ZSET ๋ ˆ๋””์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ์ฟ ํฐ ๋ฐœํ–‰ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* test: RestDoc ์—…๋ฐ์ดํŠธ

* test: Github Actions ์‹œ, Redis ZSET ๋ช…๋ น์–ด ๋ชป์ฐพ๋Š” ํ…Œ์ŠคํŠธ Disable

* refactor: ์•Œ๋ฆผ ๋ฐ ์ฟ ํฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ์•Œ๋ฆผ ์ฝ• ์•Œ๋ฆผ ํ‚ค ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐํ•จ ์กฐํšŒ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์ €์žฅ์†Œ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋ณด๊ด€ํ•จ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: temporal ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: Stream ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ์ถ”๊ฐ€ (#151)

* fix: cors api ์š”์ฒญ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • API ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ •๋ณด ์ˆ˜์ • APi ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ๋ฆฌ๋ทฐ ์ฝ”๋“œ ๋ฐ˜์˜

- ์ผ์‹œ์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ
- ํšŒ์› null๊ฐ’์— ๋Œ€ํ•œ ์˜ˆ์™ธ Objects๋กœ ๋ณ€๊ฒฝ
- ErrorMessage ๋ณ€๊ฒฝ
- ํ…Œ์ŠคํŠธ ์ฝ”๋“œ CsvSource null๊ฐ’ ์ ์šฉ

* refactor: null์ฒดํฌ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์–ด์ˆœ ๋ณ€๊ฒฝ

* feat: ๊ฒฐ์ œ ์Šน์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#154)

* feat: order_id ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค ์„ค์ •

* chore: webflux ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ์Šค ๊ฒฐ์ œ ์œ„์ ฏ ์Šน์ธ API ์—ฐ๋™

* feat: ๊ฒฐ์ œ ์Šน์ธ API ๊ตฌํ˜„

* feat: ๊ฒฐ์ œ ํ…Œ์ด๋ธ”์— couponWalletId ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: ๊ฒฐ์ œ ์Šน์ธ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* feat: ๋ฒŒ๋ ˆ ์ƒํ’ˆ ๊ตฌ๋งค ์‹œ couponWallet ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* fix: couponWalletId๋ฅผ ๋ฐ›๋„๋ก ์ˆ˜์ •

* test: couponWallet ์ ์šฉ ํ…Œ์ŠคํŠธ

* chore: ๋ถˆํ•„์š”ํ•œ fixture ์ œ๊ฑฐ

* feat: ๊ฒฐ์ œ ์Šน์ธ ์‹œ ์ฟ ํฐ ์ฐจ๊ฐ ๋ฐ ๋ฒŒ๋ ˆ ์ถฉ์ „ ๋กœ์ง ์ถ”๊ฐ€

* fix: ์ฟ ํฐ์ด ์ ์šฉ๋œ ๊ฒฝ์šฐ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* chore: config ์—…๋ฐ์ดํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* test: ๊ฒฐ์ œ ์Šน์ธ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* chore: MockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ํ…Œ์ŠคํŠธ

* fix: checkStyle ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ณตํ†ต ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* feat: ๋ฒŒ๋ ˆ ์ถฉ์ „ ์‹œ ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€

* style: ์ค‘๋ณต ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#155)

* feat: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: ๊ฒฐ์ œ ํ…Œ์ด๋ธ” coupon_id ์ปฌ๋Ÿผ์„ discount_amount๋กœ ๋ณ€๊ฒฝ

* test: ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: Response ๋ถ„๋ฆฌ

* style: ์ค„๋ฐ”๊ฟˆ ์ œ๊ฑฐ

* feat: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ (#157)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Room version ์‚ญ์ œ

* fix: ์ฝ”๋“œ ์ˆ˜์ •

* feat: Image Type ์ถ”๊ฐ€

---------

Co-authored-by: Dev Uni <[email protected]>

* hotfix: develop-cd docker ์ถ”๊ฐ€

* feat: ๋ฐฉ/ํšŒ์›/์ธ์ฆ ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#158)

* test: ์‚ญ์ œ๋œ ํšŒ์› ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ํšŒ์› ์กฐํšŒ ๋ณ€๊ฒฝ

* feat: ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์‹ ๊ณ  ๊ธฐ๋Šฅ ๋กœ์ง ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์‹ ๊ณ  api ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ„ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐ index ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: CsvSource null ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

* hotfix: config ์—…๋ฐ์ดํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#160)

* Merge branch 'develop' into feature/#75-use-coupon

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์—์„œ ํŠน์ • ํšŒ์›์˜ ํŠน์ • ์ฟ ํฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์ง€๊ฐ‘์— ์žˆ๋Š” ์ฟ ํฐ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ์‚ฌ์šฉ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* test: RestDoc ์—…๋ฐ์ดํŠธ

* refactor : ๊ฒฐ์ œ ์ฟ ํฐ ์‚ฌ์šฉ ํ†ตํ•ฉ

* Submodule update

* test: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ถ”๊ฐ€

* feat: ๋ฏธ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ (#161)

* feat: ClockHolder LocalDate ์ถ”๊ฐ€

* refactor: RoomService ๋ฆฌํŒฉํ† ๋ง

* refactor: SearchService ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฐฉ ์ž…์žฅ, ํ‡ด์žฅ ๋ฆฌํŒฉํ† ๋ง

* refactor: CertifiactionService ๋ฆฌํŒฉํ† ๋ง

* refactor: RoomController ๋ฆฌํŒฉํ† ๋ง

* test: InventorySearchRepository ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ In-memory H2์—์„œ MySQL๋กœ ๋ณ€๊ฒฝ

* feat: CertifyRoom Transaction ๋ถ„๋ฆฌ, ๋น„๊ด€์  ๋ฝ ์ ์šฉ

* feat: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ ์ ์šฉ

* refactor: MySQL ๋ณ€๊ฒฝ์œผ๋กœ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ๋ฐฉ ์ธ์ฆ, ์ž…์žฅ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋ฐฉ์žฅ ์œ„์ž„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ž…์žฅ ๋‚™๊ด€์  ๋ฝ -> ๋น„๊ด€์  ๋ฝ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ, ์ฐธ์—ฌ ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ๋ถ€๋ฅด๊ธฐ ์ปจํŠธ๋กค๋Ÿฌ

* feat: ๋ฐฉ ์ฐธ์—ฌ ์—ฌ๋ถ€ ํ™•์ธ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ค‘์ด์ง€ ์•Š์€ ๋ฐฉ ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณด์™„

* fix: memberId ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ ๋ณ€๊ฒฝ

* refactor: redirection -> boolean์œผ๋กœ ๋ณ€๊ฒฝ

* fix: Search ์ฟผ๋ฆฌ ์ˆ˜์ •

---------

Co-authored-by: Dev Uni <[email protected]>

* fix: noskin image ๋ณ€๊ฒฝ (#162)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* feat: ๋ฒŒ๋ ˆ ๋ณด์ƒ/์ถฉ์ „/์‚ฌ์šฉ ์‹œ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ์ถ”๊ฐ€ (#165)

* refactor: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* refactor: ๋ฒŒ๋ ˆ ๋ณด์ƒ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* test: ์•„์ดํ…œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: BugService Mock ์ถ”๊ฐ€

* test: ๋ฒŒ๋ ˆ ์‚ฌ์šฉ/์ถฉ์ „/๋ณด์ƒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ฟ ํฐ ์‚ฌ์šฉ + ๋ฒŒ๋ ˆ ๋‚ด์—ญ ์ €์žฅ ๋กœ์ง ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* fix: ๋ถˆํ•„์š”ํ•œ Mock ์ œ๊ฑฐ

* feat: ์•„์ดํ…œ ์ด๋ฏธ์ง€ ๋ฒ„์ „ ์ถ”๊ฐ€ ๋ฐ ๋ฐฉ ๋ฐฐ๊ฒฝ ์—…๋ฐ์ดํŠธ (#167)

* refactor: ์•„์ดํ…œ ํ…Œ์ด๋ธ”์— awakeImage, sleepImage ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ๋ฐฉ ๋ ˆ๋ฒจ์—… ์‹œ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ˆ˜์ •

* chore: ์ด๋ฏธ์ง€ URL์— ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ

* fix: no skin image ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#168)

* fix: ํšŒ์› ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ณธ ๋ถ€์—‰์ด, ์˜ค๋ชฉ๋ˆˆ์ด ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refacotr: config ์ˆ˜์ •

* test: @BeforeAll Transaction์ ์šฉ ์‹คํŒจ๋กœ ์ธํ•œ merge ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค ์ถ”๊ฐ€

* test: ๊ธฐ๋ณธ URL ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ

* hotfix: schema, item ๋“ฑ๋ก

* hotfix: config ์ˆ˜์ •

* hotfix: sql ์—…๋ฐ์ดํŠธ

* hotfix: item inventory ์ฟผ๋ฆฌ ์ˆ˜์ •

* hotfix: config admin key ์—…๋ฐ์ดํŠธ

* hotfix: config sql init none

* hotfix: config sql init never

* refactor: ์‹ค์‹œ๊ฐ„ ์„ ์ฐฉ์ˆœ ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง (#169)

* refactor: ZSET popMin -> range๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๊ด€๋ฆฌ ์ €์žฅ์†Œ popMin -> range๋กœ ๋ณ€๊ฒฝ

* feat: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๊ฒฐ๊ณผ FCM ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ZSET size ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* feat: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ฒดํฌ ์Šคํƒ€์ผ ์ˆ˜์ •

* fix: Import ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ก ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ ๋Œ€๊ธฐ์—ด ํฌ๊ธฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์‚ญ์ œ

* refactor: addIfAbsent ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ๋ ˆ๋””์Šค SORTED SET ๋ช…๋ น์–ด ํ…Œ์ŠคํŠธ Disabled

* refactor: ์ฟ ํฐ ๋ฐœ๊ธ‰ ๋ฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ์ฟ ํฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url (#173)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* hotfix: sql init ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: docker-compose mysql

* hotfix: docker-compose mysql

* fix: ๋ฐฉ์žฅ ์ž์‹ ์— ๋Œ€ํ•œ ์ถ”๋ฐฉ ๋ฒ„๊ทธ (#177)

* fix: ๋ฐฉ์žฅ ์ž์‹  ์ถ”๋ฐฉ ๋ชปํ•˜๋„๋ก validate ์ถ”๊ฐ€

* feature: ๋ฐฉ ์ˆ˜์ • ์ „ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ์— ๋ฐฉ์žฅ ID ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฐฉ ์ฐธ์—ฌ ๊ธฐ๋ก ์กฐํšŒ ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ณ€๊ฒฝ

* Fix/#175 fix member delete error (#178)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์ฟ ํฐ, ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„  (#180)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* fix: ์•„์ดํ…œ ์„ ํƒ ์‹œ ๋ฉค๋ฒ„ ๊ธฐ๋ณธ ์Šคํ‚จ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ (#182)

* style: FCM Token Log ์ƒ์„ฑ (#183)

* refactor: coupon ๋ฐœํ–‰ ๋ฐ ์‚ญ์ œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* refactor: My Coupon ์กฐํšŒ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ์ฟ ํฐ ๋“ฑ๋ก, ์‚ฌ์šฉ ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: FCM ๋ฐ ์•Œ๋ฆผ ์ฝ”๋“œ ๊ฐœ์„ 

* style: fcm token log

* fix: ๋ฐฉ์žฅ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ์ฝ”๋“œ ์ˆ˜์ • (#184)

* hotfix: ์ธ์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* hotfix: ๋ฐฉ์žฅ ๋ฐฉ ์‚ญ์ œ ๋ฒ„๊ทธ

* fix: fcm ํ† ํฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#185)

* fix: Base64๊ด€๋ จ ๋””์ฝ”๋”ฉ ์ฝ”๋“œ ๋ณ€๊ฒฝ -> Base64Url

* refactor: ์ฟ ํฐ ์Šค์ผ€์ฅด ์—…๋ฐ์ดํŠธ ๋ฐ config ์ˆ˜์ •

* style: ๋ฌธ์ž์—ด checkstyle ์ˆ˜์ •

* fix: ํšŒ์› ํƒˆํ‡ด์‹œ ๋ฐฉ ์ฐธ์—ฌ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: config update

* test: ์‹ ๊ณ  ์‹คํŒจ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: fcm ํ† ํฐ ์ œ๊ฑฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* style: ํ•„์š”์—†๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ์ฐธ์—ฌ์ž ์—…๋ฐ์ดํŠธ

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#188)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์‹คํŒจ ์‹œ ์˜ˆ์™ธ throw

* test: ๊ฒฐ์ œ ์Šน์ธ ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* fix: ํ† ์Šค ์Šน์ธ API ์š”์ฒญ ์‹œ Basic ์ธ์ฆ ํ—ค๋”๋กœ ๋ณ€๊ฒฝ

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#193)

* fix: ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ ์„ฑ๊ณต/์‹คํŒจ ์‹œ ๊ฒฐ๊ณผ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#194)

* fix: ๊ฒฐ์ œ ์ •๋ณด ๊ฒ€์ฆ ๋ฐ ํ† ์Šค ๊ฒฐ์ œ ์Šน์ธ API ๋กœ์ง ํŠธ๋žœ์žญ์…˜ ๋ถ„๋ฆฌ

* test: ๋กœ์ง ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ranking system ๊ตฌํ˜„ (#189)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* fix: record๋ฅผ class๋กœ ๋ฐ”๊ฟ”์„œ ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ (#195)

* fix: ModelAttribute๋กœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* fix: record๋ฅผ class๋กœ ๋ฐ”๊พธ๊ณ  ๋ฐ”์ธ๋”ฉ ํ•ด๊ฒฐ

* fix: approvedAt ์ œ๊ฑฐ (#197)

* fix: ๋ฒŒ๋ ˆ 0๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ ๋‚ด์—ญ ์ €์žฅ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ • (#199)

* chore: ๊ฒฐ์ œ ์‹คํŒจ ์ฒ˜๋ฆฌ ๋กœ์ง์— Transactional ์ ์šฉ

* refactor: ๋ฐฉ ์ƒ์„ธ ์ •๋ณด์— ๋ฐฉ ์ƒ์„ฑ ๋‚ ์งœ์‹œ๊ฐ„ ์ถ”๊ฐ€ (#201)

* fix: ObjectMapper ์ˆ˜์ • (#202)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝrefactor: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๋ณ€๊ฒฝ (#203)

* refactor: ํ‘ธ์‹œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ Body ๋ณ€๊ฒฝ

* refactor: FCM ์•Œ๋ฆผ ํ˜•์‹ ๋ณ€๊ฒฝ

* fix: ObjectMapper ์‚ญ์ œ ์‹คํŒจ ์ˆ˜์ • (#204)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๋ฐ item-data ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#206)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#207)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง (#208)

* refactor: infra ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์ดˆ๊ธฐ ์•„์ดํ…œ ๋ฐ์ดํ„ฐ ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ •

* fix: DockerFile ๊ฒฝ๋กœ ์ˆ˜์ •

* fix: ์‰˜ ์Šคํฌ๋ฆฝํŠธ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: nginx ๋กœ๊น… ์ถ”๊ฐ€

* feat: actuator ์™ธ๋ถ€ ์ฐจ๋‹จ

* hotfix: Dockerfile copy ์ˆ˜์ •

* hotfix: deploy-cd Dockerfile ๊ฒฝ๋กœ ์ˆ˜์ •

* hotfix: deploy-cd ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* hotfix: nginx ๋กœ๊น… docker-compose ์—ฐ๊ฒฐ

* hotfix: String to Long Error ์ˆ˜์ •

* fix: MaxUploadSizeExceededException ์˜ˆ์™ธ ๋˜์ง€๊ธฐ (#212)

* fix: 0์‹œ ์ธ์ฆ ๋ฐฉ์—์„œ ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#213)

* fix: 0์‹œ ์ธ์ฆํƒ€์ž„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: nginx client ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ ์ˆ˜์ •

* hotfix: ์ฟ ํฐํ ๋น„์–ด์žˆ์„ ์‹œ, ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฐœ๊ธ‰ ํšŸ์ˆ˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์Šค์›จ๊ฑฐ ๋„์ž…

* hotfix: ์Šค์›จ๊ฑฐ ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#215)

* chore: ๊ธฐ๋ณธ ์ƒ์  ์ƒํ’ˆ ์ฟผ๋ฆฌ ์ˆ˜์ •

* chore: slack api client ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„

* chore: slack webhook url config ์ถ”๊ฐ€

* fix: build ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋ฐฉ ์ˆ˜์ •์—์„œ ๋ฃจํ‹ด ์ˆ˜์ • ์ œ์™ธ (#217)

* feat: admin login (#216)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: mysql ํ…Œ์ด๋ธ” init ์—…๋ฐ์ดํŠธ

* hotfix: config ์—…๋ฐ์ดํŠธ

* hotfix: 00์‹œ ์ธ์ฆ ํƒ€์ž„ ์ˆ˜์ •

* refactor: ๋ฐฉ ์ธ์ฆ ๊ธฐํš ๊ด€๋ จ ์ˆ˜์ • (#219)

* refactor: ๋ฐฉ ์ธ์ฆ ์‹œ๊ฐ„ ์ •๊ฐ๋ถ€ํ„ฐ 10๋ถ„๊นŒ์ง€๋กœ ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž ์ค‘ ํ•œ๋ช… ์ด์ƒ์ด ์ธ์ฆ ํ–ˆ์„ ์‹œ ๋ฐฉ ์‹œ๊ฐ„ ์ˆ˜์ • ๋ชปํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* ๏ฟฝfix: ์ธ์ฆ๋œ ์ฐธ์—ฌ์ž์˜ ๋ฐฉ ๋‚˜๊ฐ€๊ธฐ ํ›„ ๋ฐฉ ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#221)

* fix: ์ธ์ฆํ•˜๊ณ  ๋‚˜๊ฐ„ ์ฐธ์—ฌ์ž ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

* fix: ์ธ์ฆ๋œ ๋ฐฉ์ด ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* hotfix: ์ฟ ํฐ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* fix: ๋ฐฉ์˜ ์ธ์ฆ ์‹œ๊ฐ„์—๋Š” ์ž…์žฅํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ˆ˜์ • (#223)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ (#226)

* fix: Room soft delete๋กœ ๋ณ€๊ฒฝ

* docs: mysql ์ˆ˜์ •

* fix: checkstyle

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์ด ๋ณต์‚ฌ๋˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#228)

* hotfix: distinct ์ถ”๊ฐ€

* fix: ๊ธฐ์—ฌ๋„ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#230)

* fix: admin token (#231)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

---------

Co-authored-by: Kim Heebin <[email protected]>

* ๏ฟฝfix: ์ธ์ฆ์œจ ํ•˜๋ฝ ๋ฒ„๊ทธ ์ˆ˜์ • (#233)

* refactor: ์ฝ”๋“œ ์ •๋ฆฌ

* fix: ์ธ์ฆ์œจ ํ•˜๋ฝ ์ˆ˜์ •

* fix: admin token fix (#234)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ์„ค์ • ์˜ค๋ฅ˜ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๊ด€๋ จ ๊ธฐ๋Šฅ rollback

* feat: ์—๋Ÿฌ ๋กœ๊ทธ ์Šฌ๋ž™ ์—ฐ๋™ ๊ตฌํ˜„ (#237)

* chore: logback slack appender ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ํŒŒ์ผ ์ž‘์„ฑ

* fix: admin token fix (#235)

* feat: ํšŒ์›์˜ ๋žญํ‚น redis์— ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋žญํ‚น ์ฐธ์—ฌ, ์ œ์™ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋žญํ‚น์‹œ์Šคํ…œ API ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋žญํ‚น ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋žญํ‚น ์—…๋ฐ์ดํŠธ ๋กœ์ง ๊ฐ ์—…๋ฐ์ดํŠธ -> ์Šค์ผ€์ฅด๋Ÿฌ

* style: checkstyle ์—๋Ÿฌ fix

* refactor: ์‘๋‹ต ๊ฐ์ฒด๋ช… ๋ณ€๊ฒฝ TopRankingInfoResponse -> TopRankingInfo

* fix: ๋žญํ‚น ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„ 15๋ถ„ ๋งค์ดˆ๋งˆ๋‹ค ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹ -> 15๋ถ„์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋žญํ‚น ์‘๋‹ต ๋ฐ˜ํ™˜ ๊ฐ์ฒด ๋ณ€์ˆ˜๋ฉด s ์ œ๊ฑฐ

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses ์‘๋‹ต ๊ฐ์ฒด ๋ฐ˜ํ™˜๋ช… TopRankingResponse๋กœ ๋ณ€๊ฒฝ

* fix: ObjectMapper์—๋Ÿฌ ์ˆ˜์ •

* fix: objectMapper ์‚ญ์ œ ์ถ”๊ฐ€

* feat: ์–ด๋“œ๋ฏผ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์–ด๋“œ๋ฏผ config ์—…๋ฐ์ดํŠธ

* fix: test application.yml ์ˆ˜์ •

* test: stub์—์„œ์˜ ํƒ€์ž… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* style: ๋ณ€์ˆ˜๋ฉด ๋ณ€๊ฒฝ

* feat: ์–ด๋“œ๋ฏผ๊ณผ ์ผ๋ฐ˜ ์œ ์ €๊ฐ„ ํ† ํฐ ์ƒ์„ฑ, ๊ฒ€์ฆ ๋ถ„๋ฆฌ ๋ฐ ๋กœ๊ทธ์ธ ๋ถ„๋ฆฌ

* feat: ํšŒ์› ์ธ์ฆ์‹œ ๋ฑƒ์ง€ ์ƒ์„ฑ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ์ˆ˜์ •

* refactor: ์ฝ”๋”ฉ ์Šคํƒ€์ผ ์žฌ์ ์šฉ

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* hotfix: ์„œ๋ฒ„ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ๋„๋ฉ”์ธ ๊ด€๋ จ SameSite๋ฅผ None์œผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: ์„œ๋ธŒ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* fix: date equals ์ ์šฉ (#239)

* feat: exception AOP ๋กœ๊ทธ ์ถ”๊ฐ€ (#241)

* feat: ExceptionHandler AOP ์ ์šฉ

* refactor: ์ˆ˜์ •

* refactor: checkstyle ์ ์šฉ

* refactor: ๋ฐฉ, filter, aop ์ˆ˜์ • (#243)

* fix: ๋ฐฉ ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ, AOP ์ˆ˜์ •

* hotfix: date equals ์ ์šฉ

* fix: ํšŒ์› ์‚ญ์ œ์— ๋Œ€ํ•œ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ

* feat: sql ์ˆ˜์ •

* refactor: ๋ฒณ์ง€ init sql ์ˆ˜์ •

* refactor: ๋ฐฉ ์ด๋ฏธ์ง€ ์ •๋ณด ๋ณ€๊ฒฝ

* fix: ๋ฐฉ์˜ exp ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* hotfix: ํšŒ์› ์‚ญ์ œ ๋กœ์ง ๋ณ€๊ฒฝ

* hotfix: ๋žญํ‚น ์กฐํšŒ ์ฟผ๋ฆฌ ๋ฐ ๋ฐฉ ์กฐํšŒ ์ˆ˜์ •

* feat: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ ๊ตฌํ˜„

* fix: ์šด์˜์„œ๋ฒ„ ๋ฐฐํฌ cd ์ˆ˜์ •

* fix: log AOP ์ œ๊ฑฐ ๋ฐ SlackExceptionHandler ์ˆ˜์ •

* chore: config ์—…๋ฐ์ดํŠธ

---------

Co-authored-by: Kim Heebin <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>
Co-authored-by: Park Seyeon <[email protected]>
Co-authored-by: ํ™ํ˜์ค€ <[email protected]>
Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: HyuckJuneHong <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
๐Ÿ€ BE ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ์˜ ์ž‘์—… ๐Ÿ› fix ๋ฒ„๊ทธ ์ˆ˜์ • ์ž‘์—…
Projects
None yet
Development

Successfully merging this pull request may close these issues.

์–ด๋“œ๋ฏผ ํ† ํฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ
1 participant