Skip to content

fix: ClientAbortException handle #430

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

Merged
merged 1 commit into from
Apr 16, 2024

Conversation

Choi-JJunho
Copy link
Member

@Choi-JJunho Choi-JJunho commented Apr 16, 2024

๐Ÿ”ฅ ์—ฐ๊ด€ ์ด์Šˆ

๐Ÿš€ ์ž‘์—… ๋‚ด์šฉ

์„œ๋ฒ„์—์„œ ClientAbortException๋ฅผ ํ•ธ๋“ค๋งํ•˜์ง€ ์•Š์•„ 500 ์—๋Ÿฌ๋กœ ๋ฐœ์ƒ
ํ•ธ๋“ค๋งํ•˜์—ฌ ๋ช…ํ™•ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜

  1. ClientAbortException ํ•ธ๋“ค๋ง ์ถ”๊ฐ€

๐Ÿ’ฌ ๋ฆฌ๋ทฐ ์ค‘์ ์‚ฌํ•ญ

@Choi-JJunho Choi-JJunho self-assigned this Apr 16, 2024
@github-actions github-actions bot added the ๋ฒ„๊ทธ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. label Apr 16, 2024
@Choi-JJunho Choi-JJunho changed the title feat: ClientAbortException handle fix: ClientAbortException handle Apr 16, 2024
Copy link
Contributor

@daheeParkk daheeParkk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค

@Choi-JJunho Choi-JJunho merged commit 211d0b9 into develop Apr 16, 2024
@Choi-JJunho Choi-JJunho deleted the fix/428-handle-client-exception branch April 16, 2024 10:53
Choi-JJunho referenced this pull request Apr 30, 2024
* test: TestContainer ์ ์šฉ (#27)

* test: TestContainer ์ ์šฉ

* test: TestContainer MySQL ๋ฒ„์ „ 5.7๋กœ ๋ณ€๊ฒฝ

* test: RestAssured port ์„ ์–ธ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: POST /user/login API ๊ตฌํ˜„ (#50)

* feat: User Entity ์ถ”๊ฐ€

* test: /user/login ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ๋ผˆ๋Œ€์ฝ”๋“œ ๊ตฌ์„ฑ

* feat: testcontainer ๋„์ž…

* test: TestContainer ์ ์šฉ

* test: TestContainer MySQL ๋ฒ„์ „ 5.7๋กœ ๋ณ€๊ฒฝ

* test: RestAssured port ์„ ์–ธ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์‚ฌ์šฉ์ž ๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธํ•œ ๋‚ ์งœ ์ถ”๊ฐ€

* test: ActiveProfiles ์„ค์ • ์ถ”๊ฐ€

* build: ํ† ํฐ ๊ฐ’ minute ์ฃผ์„ ์ถ”๊ฐ€

* refactor: refreshToken ๋งŒ๋ฃŒ์ผ์ž 14์ผ๋กœ ์ˆ˜์ •

* build: ๋ถˆํ•„์š”ํ•œ ์„ค์ •ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ถ€ ์ถ”๊ฐ€

* test: ํ•™๊ต ๋ฉ”์ผ๋กœ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์ˆ˜์ •

* refactor: ๋ฐ˜ํ™˜๊ฐ’ accessToken์ž„์„ ๋ช…์‹œ

* feat: ์ƒ์  ๋ฉ”๋‰ด ์กฐํšŒ API ๊ตฌํ˜„ (#112)

* refactor: ์ „์ฒด ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#114)

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

* refactor: DTO ๋ ˆ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒ์  ๋„๋ฉ”์ธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* refactor: ํŒจํ‚ค์ง€ ํ‘œํ˜„ ๋ณ€๊ฒฝ

* feat: GET /lands API ๊ตฌํ˜„  (#148)

* feat : ๋„๋ฉ”์ธ ์ƒ์„ฑ

* faet : controller ๊ตฌํ˜„

* feat : response DTO ์ƒ์„ฑ

* feat : ์ „์ฒด ์กฐํšŒ service ๊ตฌํ˜„

* feat : ์ „์ฒด ์กฐํšŒ repository ์ƒ์„ฑ

* feat : Domain ์ƒ์„ฑ

* test : ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor : ํ•˜์œ„ ํŒจํ‚ค์ง€ ์ค‘ domain์„ model๋กœ ์ˆ˜์ •

* refactor : DTO ํด๋ž˜์Šค์— JsonNaming ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ

* refactor : Column ์–ด๋…ธํ…Œ์ด์…˜ ์•ˆ์— ํ•„์š”์—†๋Š” ๋‚ด์šฉ ์ œ๊ฑฐ

* refactor : ๋ณต๋•๋ฐฉ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๋ฉ”์„œ๋“œ์— Transaction(readOnly=true)๊ฐ€ ์ ์šฉ๋˜๋„๋ก ์ˆ˜์ •

* refactor : ๋ฆฌ์ŠคํŠธ ์›์†Œ๋กœ ์‚ฌ์šฉํ•˜๋˜ LandResponse์˜ ์ด๋ฆ„์„ LandListItemResponse๋กœ ์ˆ˜์ •

* feat: ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„ (#149)

* feat: ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„

* refactor: ArgumentResolver ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: CustomException ์ ์šฉ

* refactor: ์˜ˆ์™ธ์ƒํ™ฉ ๋ช…์‹œํ•˜๋„๋ก ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ์ƒ์ˆ˜์ถ”์ถœ

* refactor: ๋ฏธ์‚ฌ์šฉ ์ƒ์„ฑ์ž ์ œ๊ฑฐ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฏธ์‚ฌ์šฉ ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

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

* refactor: ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๊ตฌ์ฒดํ™”

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* ๏ฟฝfeat: GET /dept, GET /depts ๊ตฌํ˜„ (#147)

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

* refactor: DTO ๋ ˆ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ƒ์  ๋„๋ฉ”์ธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: ํ•™๊ณผ ์กฐํšŒ ๊ด€๋ จ ํ‹€ ์ž‘์„ฑ

* feat: ํ•™๊ณผ๋ช… ์—ด๊ฑฐํ˜• ์ถ”๊ฐ€

* feat: ํ•™๊ณผ ์กฐํšŒ ์ดˆ์•ˆ ์ž‘์„ฑ

* feat: ํ•™๊ณผ ์กฐํšŒ ์ •์ƒ ๋™์ž‘

* refactor: ์—ด๊ฑฐํ˜• ์ œ๊ฑฐ

์ตœ๋Œ€ํ•œ ๋„์ž…ํ•ด๋ณด๋ ค ์‹œ๋„ํ–ˆ์œผ๋‚˜ `@Enumerated(EnumType.STRING)`์œผ๋กœ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜์—ฌ ์ œ๊ฑฐ
(DB์— ํ•œ๊ธ€๋กœ ์ €์žฅ๋˜์–ด ์žˆ์–ด์„œ enum๊ณผ ๋งคํ•‘ํ•˜๋ ค๋ฉด ํ•œ๊ธ€ ์—ด๊ฑฐํ˜•์ด ํ•„์š”ํ•ด๋ณด์ž„)

ERROR DETAIL: "No enum constant in.koreatech.koin.domain.dept.domain.DeptType.๊ธฐ๊ณ„๊ณตํ•™๋ถ€"

* rename: ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: ์ •์ƒ ๋™์ž‘ํ•˜๋„๋ก ์ˆ˜์ • (๋ณตํ•ฉํ‚ค ๋งคํ•‘ ์ด์ „)

* refactor: ๋ณตํ•ฉํ‚ค ๋งคํ•‘

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: GET /depts ๊ตฌํ˜„

* test: GET /depts ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* rename: ๋„๋ฉ”์ธ๋ช… ์ˆ˜์ •

Dept -> DeptInfo

* fix: DeptInfoRepository Key ์ˆ˜์ •

* refactor: service ์ฝ”๋“œ ๊ฐ„์†Œํ™”

* fix: GET /dept ์‘๋‹ต ๋ฉ”์‹œ์ง€ ์ž๋ฃŒํ˜• ์ˆ˜์ •

* refactor: ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* rename: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์‘๋‹ต ๊ฐ์ฒด ์ž๋ฃŒํ˜• ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* rename: DTO ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* test: ํ…Œ์ŠคํŠธ ์ธ์ž ์ƒ์ˆ˜ํ™”

* test: ์ฝ”๋“œ ๊ฐ„์†Œํ™”

* fix: Repository ID ์ œ๋„ค๋ฆญ ์ˆ˜์ •

* refactor: Static Import๋กœ ๋ณ€๊ฒฝ

Response ํด๋ž˜์Šค๋“ค์— ๋ถ™์€ SnakeCaseStrategy.class๋ฅผ static importํ•˜์—ฌ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ

* test: GET /depts ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

1. ๊ธฐ์กด์— ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š๋˜ ์ฝ”๋“œ ์ˆ˜์ •
2. ๋ฐ˜๋ณต๋ฌธ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ผ์ผ์ด ๋งคํ•‘ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: DB์—์„œ enum์œผ๋กœ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

cc. #152

* rename: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* rename: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: ์กด์žฌํ•˜์ง€ ์•Š์„ ์‹œ ์‘๋‹ต ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: enum ๊ฐœํ–‰ ์กฐ์ •

* remove: DB ๋ฏธ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ๋ถˆํ•„์š” ์ฝ”๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: Invidam <hansupark0208@gmail.com>

* feat: logout ๊ตฌํ˜„ (#154)

* feat: accessToken ์žฌ๋ฐœ๊ธ‰ (#155)

* feat: logout ๊ตฌํ˜„

* feat: accessToken ์žฌ๋ฐœ๊ธ‰ ๊ตฌํ˜„

* fix: ์‘๋‹ต ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์ž ์ธ์ฆ ์š”๊ตฌ์‚ฌํ•ญ ์ œ๊ฑฐ

* refactor: ๋ฆฌํ”„๋ ˆ์‹œํ† ํฐ userId ๊ตฌ๋ถ„

* ๏ฟฝfeat: ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ๊ตฌํ˜„ (#158)

* feat: ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: repository ์ž‘์„ฑ

* feat: service ์ž‘์„ฑ

* feat: response ์ž‘์„ฑ

* feat: DB ์กฐํšŒ ๋กœ์ง ์ž‘์„ฑ

* feat: Jsoup ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๋‚ด์šฉ ์ถ”๊ฐ€

1. article.is_notice
2. article.contentSummary
3. board.is_notice
4. board.children (must null)

* feat: ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ž‘์„ฑ

* refactor: ํŽ˜์ด์ง• ๊ด€๋ จ ์ •๋ณด ํด๋ž˜์Šค ๋ถ„๋ฆฌ

* fix: soft delete๋œ ๊ฒŒ์‹œํŒ or ๊ฒŒ์‹œ๊ธ€์€ ์กฐํšŒ ์•ˆ๋˜๋„๋ก ์ˆ˜์ •

* fix: 1ํŽ˜์ด์ง€ ์กฐํšŒ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ ์‘๋‹ต ์ถ”๊ฐ€ (summary)

* fix: ์ตœ์‹ ๊ธ€๋ถ€ํ„ฐ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

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

* move: ErrorResponseWrapper ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: ๋ฌธ์ž์—ด ํŒŒ์‹ฑ ๋ฉ”์„œ๋“œ ๋ฆฌํŒฉํ† ๋ง

* test: ์˜ˆ์™ธ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ๋ฉ”๋‰ด ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํšŒ (#153)

* feat: ๋ฉ”๋‰ด ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์‘๋‹ต DTO ์ƒ์„ฑ ๋กœ์ง ์ˆ˜์ •

* refactor: cascade ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

refactor: cascade ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ๋ฌธ๋งฅ ๋ณ€๊ฒฝ

* feat: ๋ณต๋•๋ฐฉ ๋‹จ์ผ ์กฐํšŒ (#156)

* feat : controller ๊ตฌํ˜„

* feat : repository์— id๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ƒ์„ฑ

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

* feat : ์‘๋‹ต DTO ๊ตฌํ˜„

* refactor : domain ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor : stream ๋ผ์ธ ๋ณ€๊ฒฝ

* refactor : ์ฝ”๋“œ ์ถ•์•ฝ

* test : ๋‹จ์ผ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor : ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •

* refactor : ๊ธฐ์กด ์‘๋‹ต ๊ตฌ์กฐ์™€ ๋™์ผํ•˜๋„๋ก ์ˆ˜์ •

* test : ํ…Œ์ŠคํŠธ์— ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* refactor:๏ฟฝ findByXXX -> getByXXX (#164)

* refactor: default method ํ™œ์šฉํ•œ getByXXX ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€

* style: ๊ณต๋ฒก ์ œ๊ฑฐ

* refactor: ๋ณต๋•๋ฐฉ์—๋„ ์ ์šฉ

* refactor: DataNotFoundException์œผ๋กœ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌ

* feat: ๊ฒŒ์‹œ๊ธ€ ๋‹จ์ผ ์กฐํšŒ (#173)

* feat: ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: Repository ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: Comment ๋„๋ฉ”์ธ ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ์ดˆ์•ˆ ์™„์„ฑ

* fix: ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด ์Šต๋“ ์ ˆ์ฐจ ์ˆ˜์ •

1. ๋น„๋กœ๊ทธ์ธ ์œ ์ €์˜ ์š”์ฒญ๋„ ๋ฐ›๋„๋ก ์ˆ˜์ •
2. ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ํ† ํฐ ์ž…๋ ฅ ์‹œ ๊ถŒํ•œ ์—†์Œ์œผ๋กœ ์ง„ํ–‰๋˜๋„๋ก ์ˆ˜์ •

* rename: ์‘๋‹ต ๊ฐ์ฒด ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‚ด์šฉ ์š”์•ฝ ์ •๋ณด ์ตœ์‹ ํ™” ์‹œ๊ธฐ ๋ณ€๊ฒฝ

๊ธฐ์กด: getter ํ˜ธ์ถœ ์‹œ๋งˆ๋‹ค ๋กœ์ง ์ˆ˜ํ–‰ํ•˜์—ฌ ์ถ”์ถœ
๋ณ€๊ฒฝ: jpa ์—”ํ‹ฐํ‹ฐ ๋กœ๋“œ ํ›„ 1ํšŒ ๋กœ์ง ์ˆ˜ํ–‰

* refactor: ์œ ์ € ์ธ์ฆ ์ •๋ณด ์ „๋‹ฌ ๋ฐฉ์‹ ์ˆ˜์ •

๊ธฐ์กด: ์ปจํŠธ๋กค๋Ÿฌ๋‹จ์—์„œ @RequestHeader๋กœ ๋ฐ›์•„ ์ „๋‹ฌ
๋ณ€๊ฒฝ: ์„œ๋น„์Šค๋‹จ์—์„œ RequestContextHolder๋กœ ์Šต๋“

* feat: ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ธฐ๋ก ์ €์žฅ ๋ฐ ์กฐํšŒ์ˆ˜ ๋ณ€๋™ ๊ตฌํ˜„

์œ ์ €์˜ ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ๊ฐ€ ์กฐํšŒ์ˆ˜ ์ฆ๊ฐ€๋กœ ์ด์–ด์ง€๋Š” ๊ฐ„๊ฒฉ์„ 1์‹œ๊ฐ„์œผ๋กœ ์„ค์ •

* fix: ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ด€๋ จ ๋ฒ„๊ทธ ์ˆ˜์ •

๊ธฐ์กด์— ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ์ด๋ ฅ์ด ๋‚จ์•„์žˆ๋Š”๋ฐ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์ด ์ง€๋‚œ ๊ฒฝ์šฐ, ๊ธฐ์กด ๋‚ด์—ญ์„ ์—…๋ฐ์ดํŠธํ•ด์ค˜์•ผ ํ•˜๋‚˜ ์ƒˆ๋กœ ์ €์žฅ์„ ์‹œ๋„ํ•˜์—ฌ ๊ตฌ๋ฌธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•จ.
์œ„ ์ƒํ™ฉ์—๋Š” ๊ธฐ์กด ๋‚ด์—ญ์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ๋ฒ„๊ทธ ์ˆ˜์ •

๋ฌธ์ œ: ์ตœ๋Œ€ ํŽ˜์ด์ง€ ์ดˆ๊ณผ ์‹œ 404 ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ.
์›์ธ: ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง์„ ๋ณ„๋„ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ–ˆ์œผ๋‚˜ ๊ธฐ์กด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ์ค‘์ด์—ˆ์Œ
ํ•ด๊ฒฐ: ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ์ ์šฉ๋œ ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ๋ฌธ ๋ณ€๊ฒฝ

* fix: ์กฐํšŒ ๊ธฐ๋ก Builder์— ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๊ธฐ์ž…

* test: ์‹ ๊ทœ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ ๊ธฐ์กด ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* other: ํ•™๊ณผ ์กฐํšŒ ์ž๋ฃŒํ˜• ์ˆ˜์ •

ํ•™๊ณผ ์ฝ”๋“œ: Long -> String

* refactor: ์ฝ”๋“œ์Šคํƒ€์ผ ๊ฐœ์„ 

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

* refactor: ๋นˆ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

* refactor: IP ์ฃผ์†Œ ์Šต๋“ ๋กœ์ง ๋ถ„๋ฆฌ

* test: ์˜ˆ์™ธ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ๋ฐฉ์‹์œผ๋กœ ๋กœ์ง ๋ฐ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ArticleViewLog์˜ FK๋ฅผ ์—ฐ๊ด€๊ด€๊ณ„๋กœ ๋งคํ•‘

* refactor: Auth ์–ด๋…ธํ…Œ์ด์…˜ ํ™œ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ (#175)

* refactor: Auth ์–ด๋…ธํ…Œ์ด์…˜ ํ™œ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: IPAddress Interceptor ์ถ”๊ฐ€

* chore: auth global ํŒจํ‚ค์ง€๋กœ ์ด๋™

* style: ๋กœ๊น… ๋””ํ…Œ์ผ

* refactor: ๋ถˆํ•„์š”ํ•œ UserType ์ œ๊ฑฐ

* docs: add swagger config (#176)

* refactor: Auth ์–ด๋…ธํ…Œ์ด์…˜ ํ™œ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: IPAddress Interceptor ์ถ”๊ฐ€

* docs: swagger ์ถ”๊ฐ€

* chore: auth global ํŒจํ‚ค์ง€๋กœ ์ด๋™

* style: ๋กœ๊น… ๋””ํ…Œ์ผ

* refactor: ๋ถˆํ•„์š”ํ•œ UserType ์ œ๊ฑฐ

* refactor: Parameter Path ์ˆ˜์ •

* feat: ๋ฒ„์ „ ๋‹จ์ผ ์กฐํšŒ (#168)

* feat: request dto ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: response dto ์ž‘์„ฑ

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

* feat: ์ปจํŠธ๋กค๋Ÿฌ ์ž‘์„ฑ

* feature: ๊ธฐ์กด ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋ฆฌ๋ทฐ ์ ์šฉ

* feat: VersionType ํ”ผ๋“œ๋ฐฑ ์ ์šฉ ๋ฐ Exception Test Case ์ถ”๊ฐ€

* feat: ๊ณต๋ฐฑ ์ปจ๋ฒค์…˜ ์ˆ˜์ • & No newline at end of file ์ ์šฉ

* feat: ํšŒ์› ํƒˆํ‡ด ๊ตฌํ˜„ (#178)

* feat: ํšŒ์› ํƒˆํ‡ด ๊ตฌํ˜„

* refactor: ์ค„๋ฐ”๊ฟˆ

* feat: ์ธ๊ธฐ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ (#181)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: Redis ์ ‘๊ทผ ๊ธฐ๋Šฅ ๊ตฌ

* feat: ๋งŒ๋ฃŒ ์ฒดํฌ ๋กœ์ง ์ž๋™ํ™”

* feat: ์ธ๊ธฐ ๋งŽ์€ ๊ฒŒ์‹œ๊ธ€ ์ถœ๋ ฅ ๋กœ์ง ์ž‘์„ฑ

1. ๋ชจ๋“  ๋กœ๊ทธ ์กฐํšŒ
2. ์กฐํšŒ์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
3. Limit๋กœ ์ž๋ฅด๊ธฐ
4. ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

* refactor: ์Šค์ผ€์ค„๋Ÿฌ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ

* feat: ์ตœ๊ทผ ์กฐํšŒ๋œ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜๊ฐ€ 10๊ฐœ ๋ฏธ๋งŒ์ด๋ฉด ์ตœ์‹  ๊ฒŒ์‹œ๊ธ€๊ณผ ๋ณ‘ํ•ฉ

* fix: ์‘๋‹ต ๊ฐ์ฒด ํ•„๋“œ๋ช… ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์กฐํšŒ์ˆ˜ ๊ฒ€์ฆ ๋กœ์ง ๊ฐœ์„ 

* docs: ์‘๋‹ต ๊ฐ์ฒด ์„ค๋ช… ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ ์ฝ˜์†” ์ถœ๋ ฅ ์ œ๊ฑฐ

* refactor: redis ๋Œ€์‹  mysql์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์‚ฌ์žฅ๋‹˜ ์ •๋ณด ์กฐํšŒ (#182)

* feat: ๋„๋ฉ”์ธ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ดˆ์•ˆ ์ž‘์„ฑ

* feat: ๋„๋ฉ”์ธ ํด๋ž˜์Šค ์ž‘์„ฑ

* feat: API ์ž‘์„ฑ

1. ๊ฒฝ๋กœ ์ˆ˜์ •(๋‹ค๋ฅธ API๋กœ ์ฐฉ๊ฐํ•˜๊ณ  ์ž‘์—…์ค‘์ด์—ˆ์–ด์„œ ์ˆ˜์ •)
2. ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘
3. API ๋กœ์ง ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •

* docs: ์‘๋‹ต ๊ฐ์ฒด ๋ฌธ์„œ ์ฃผ์„ ์ถ”๊ฐ€

* refactor: ํŠธ๋žœ์žญ์…˜ ์ถ”๊ฐ€

* refactor: ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ณด์™„

* refactor: ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ ์ œ๊ฑฐ

* refactor: ์ž˜๋ชป ๊ธฐ์ž…๋œ Setter ์ œ๊ฑฐ

* refactor: ๊ธฐ๋ณธ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ์ถ”๊ฐ€

* refactor: ์†Œํ”„ํŠธ๋”œ๋ฆฌํŠธ๋œ ๋Œ€์ƒ์€ ์ œ์™ธ

* refactor: ๊ธฐ๋ณธ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* feat: ์‚ฌ์žฅ๋‹˜ ์ž์‹ ์˜ ๋ชจ๋“  ์ƒ์  ์กฐํšŒ (#183)

* feat: ๋„๋ฉ”์ธ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ดˆ์•ˆ ์ž‘์„ฑ

* feat: ๋„๋ฉ”์ธ ํด๋ž˜์Šค ์ž‘์„ฑ

* feat: API ์ž‘์„ฑ

1. ๊ฒฝ๋กœ ์ˆ˜์ •(๋‹ค๋ฅธ API๋กœ ์ฐฉ๊ฐํ•˜๊ณ  ์ž‘์—…์ค‘์ด์—ˆ์–ด์„œ ์ˆ˜์ •)
2. ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘
3. API ๋กœ์ง ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: API ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* docs: ์‘๋‹ต ๊ฐ์ฒด ๋ฌธ์„œ ์ฃผ์„ ์ถ”๊ฐ€

* fix: ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์ฝ๊ธฐ ์ „์šฉ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* feat: ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… ์ธ์ฆ๋ฒˆํ˜ธ ์ „์†ก ์š”์ฒญ (#184)

* feat : owner controller ๊ตฌํ˜„

* refactor: ๊ธฐ์กด url์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ์ด๋ฉ”์ผ ๊ด€๋ จ ๋„๋ฉ”์ธ ์ƒ์„ฑ & ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ค‘๋ณต ์ด๋ฉ”์ผ์ธ์ง€ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat : AwsSesConfig ์ž‘์„ฑ

* feat : SesMailSender ์ž‘์„ฑ

* feat: ๋ฉ”์ผํผ ์ž‘์„ฑ & ํ…œํ”Œ๋ฆฟ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฉ”์ผ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฉ”์ผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌ

* feat: OwnerInVerification ์ž‘์„ฑ

* feat: redis์— ์ €์žฅ

* fix: ํƒ€์ž„๋ฆฌํ”„ ๊ฐ€์ ธ์˜ค๋Š” ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ๋ฉ”์ผ ์ „์†ก ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: mail form loader ์„ค์ • ์ฝ”๋“œ ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* fix: ์ค‘๋ณต ์ด๋ฉ”์ผ ๊ฒ€์ฆ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: slack์— ์•Œ๋ฆผ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์Šค์›จ๊ฑฐ ์ž‘์„ฑ

* refactor: ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ˆ˜์ •

* feat: ์Šฌ๋ž™ test url ์ž‘์„ฑ

* feat: ๋ ˆ๋””์Šค์— ์žˆ๋Š” ์‚ฌ์žฅ๋‹˜ ์ •๋ณด ์กฐํšŒ ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… ์ธ์ฆ๋ฒˆํ˜ธ ์ „์†ก ์š”์ฒญ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ํด๋ž˜์Šค&๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* style: global์˜ commaon ํŒจํ‚ค์ง€๋ฅผ domain ํŒจํ‚ค์ง€๋กœ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ธ์ฆ๋ฒˆํ˜ธ ๋žœ๋ค ์ƒ์„ฑ์„ ๋”ฐ๋กœ ๊ตฌํ˜„

* refactor: Aws SES ์„œ์šธ ๋ฆฌ์ „์œผ๋กœ ์ˆ˜์ •

* refactor: ์ด๋ฉ”์ผ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* fix: AWS SES ๊ธฐ์กด Region์œผ๋กœ ์ˆ˜์ •

* refactor: ์Šคํ”„๋ง ์ด๋ฒคํŠธ ์ ์šฉํ•ด์„œ ์Šฌ๋ž™ ์•Œ๋ฆผ ์ „์†กํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋ฉ”์ผํผ ๊ฐ€์ ธ์˜ค๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ thymeleaf๋กœ ๋ณ€๊ฒฝ

* test: ์Šฌ๋ž˜ ์ „์†ก ์‹คํŒจํ•ด๋„ 200์œผ๋กœ ์‘๋‹ตํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* test: ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… ์ธ์ฆ๋ฒˆํ˜ธ ์ „์†ก ์š”์ฒญ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์ „์†ก ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ

* refactor: EmailAddress ๊ฐ์ฒด ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: OwnerInVerification ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: noticeEmailVerification()์—์„œ ์ฝ”๋“œ ์ค„์ž„

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

* test: MockBean์„ SpyBean์œผ๋กœ ์ˆ˜์ •

* test: MockBean ์œ„์น˜ ๋ณ€๊ฒฝ

* test: application test yml์— thymeleaf ๊ฒฝ๋กœ ์„ค์ • ์ถ”๊ฐ€

* test: test/resources/mail/owner๋ฉ”์ผํผ ์ถ”๊ฐ€

* test: test/resources/owner๋ฉ”์ผํผ ์ œ๊ฑฐ

* test: MockBean ์œ„์น˜ AcceptanceTest๋กœ ๋ณ€๊ฒฝ

* style: record ๋ณ€์ˆ˜ ์„ ์–ธ ์„ธ๋กœ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* style: OwnerInVerification์˜ AccessLevel static import๋กœ ์ˆ˜์ •

* style: User ์ƒ์„ฑ์ž ์ธ์ˆ˜ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜์—ด

* refactor: User ์ƒ์„ฑ์ž private์œผ๋กœ ์ˆ˜์ •

* style: ๋ชจ๋“  AccessLevel์„ static import๋กœ ์ˆ˜์ •

* style: Owner, OwnerAttachment Doamin ์œ„์น˜ domain ํŒจํ‚ค์ง€์—์„œ modelํŒจํ‚ค์ง€๋กœ ์ˆ˜์ •

* refactor: aws ses ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์ˆ˜์ •

* fix: ๋ฒ„์ „ ๋งคํ•‘ ์—๋Ÿฌ ์ˆ˜์ • (#191)

* fix: ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์˜ˆ์™ธ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„์ „ ์ตœ์‹ ํ™” ๋ฉ”์„œ๋“œ ์ž‘์„ฑ

* refactor: ์‘๋‹ต ๊ฐ„๊ฒฐํ™” ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ์ด๋ฉ”์ผ ์ค‘๋ณต ์ฒดํฌ (#194)

* feat: ์ด๋ฉ”์ผ ์ค‘๋ณต ์ฒดํฌ ๊ตฌํ˜„

* feat: ์ด๋ฉ”์ผ ์ค‘๋ณต ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* chore: application-test.yml ์ˆ˜์ •

- datasource ์ถ”๊ฐ€

* chore: application-test.yml ์ˆ˜์ •
- datasource ์‚ญ์ œ

* refactor: ModelAttribute ์ ์šฉ

- @RequestParam -> @ModelAttribute

* feat: ์ด๋ฉ”์ผ ์ค‘๋ณต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

- ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฉด 400
- ์ž˜๋ชป๋œ ์ด๋ฉ”์ผ ํ˜•์‹์ด๋ฉด 400

* style: ๋ผ์ธ ํฌ๋งทํŒ…

* feat : ๊ฐ•์˜ ๋ชฉ๋ก ์กฐํšŒ(ํ•™๊ธฐ๋ณ„) (#192)

* feat : Lecture ํด๋ž˜์Šค ์ƒ์„ฑ

* feat : LectureApi ํด๋ž˜์Šค ์ƒ์„ฑ

* feat : LectureController ํด๋ž˜์Šค ์ƒ์„ฑ

* feat : LectureRepository ํด๋ž˜์Šค ์ƒ์„ฑ

* feat : LectureResponse DTO ์ƒ์„ฑ

* feat : LectureService ํด๋ž˜์Šค ์ƒ์„ฑ

* feat : LectureApiTest ํ…Œ์ŠคํŠธ ์ƒ์„ฑ ํ›„ ํ†ต๊ณผ

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

* refactor : classTime ๋ฐ˜ํ™˜ํƒ€์ž… Integer[]๋กœ ๋ณ€๊ฒฝ

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

* refactor : Integer[]๋ฐฐ์—ด List<Long>์œผ๋กœ ๋ณ€๊ฒฝ

* refactor : TimeTable๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

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

* feat: ๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ์กฐํšŒ - ์…”ํ‹€๋ฒ„์Šค, ๋“ฑํ•˜๊ต ๋ฒ„์Šค (#185)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: mongoDB ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ๋ฏธ์šดํ–‰์ธ ๋ฒ„์Šค ํ•„ํ„ฐ๋ง

* feat: enum ์ถ”๊ฐ€

* feat: ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ž‘์„ฑ

* feat: ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฒ„์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์‘๋‹ต ๊ตฌํ˜„

* feat: ๋ฏธ์šดํ–‰ ์š”์ผ ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ฒ„์Šค ์ •๊ฑฐ์žฅ ๊ฒ€์ฆ๋กœ์ง ์ ์šฉ ๋ฐ ์ค‘๋ณต๋˜๋Š” ์‹œ๊ฐ„ ์ œ์™ธ

* refactor: enum ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋“ฑํ•˜๊ต ๋ฐฉํ–ฅ ๊ธฐ์ค€ ํƒ์ƒ‰์—์„œ ์ •๋ฅ˜์žฅ ํƒ์ƒ‰์œผ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

BusCourse.isRunning()

* refactor: ํ…Œ์ŠคํŠธ mocking ์œ„ํ•ด Clock ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ปจํ…Œ์ด๋„ˆ mongoDB ์ถ”๊ฐ€

* test: ์…”ํ‹€ ๋ฒ„์Šค ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* docs: API ๋ฌธ์„œ์— ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด ๋ช…์‹œ

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋ˆ„๋ฝ๋œ Transactional ์ถ”๊ฐ€

* fix: mocking ๋ณ€์ˆ˜ ์„ ์–ธ๋ถ€ ์ด๋™

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋„์ฐฉ ์‹œ๊ฐ ํŒจํ„ด ๋ถˆ์ผ์น˜ ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: ๋ฐ˜๋ณต๋ฌธ์„ stream์œผ๋กœ ๋ณ€ํ™˜

* refactor: ์—”ํ‹ฐํ‹ฐ ํ•„๋“œ๋กœ List ์‚ฌ์šฉ ์‹œ ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”

* refactor: String ๋น„๊ต ์‹œ NPE ์˜ˆ๋ฐฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋งคํ•‘ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ

* rename: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Builder ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •

* refactor: enum ํ•„๋“œ ๊ฐ„์†Œํ™”

* fix: ๋ฏธ์‚ฌ์šฉ ์˜ˆ์™ธ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์ถœ๋ฐœ์ง€์™€ ๋„์ฐฉ์ง€๊ฐ€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: IllegalArgumentException ์˜ˆ์™ธ ์‘๋‹ต ์ˆ˜์ •

* feat : ํ•™๊ธฐ ์กฐํšŒ(์ „ํ•™๊ธฐ) (#196)

* feat : Semester get API ๊ตฌํ˜„ ์™„๋ฃŒ

* chore : ๋ฆฌ๋ทฐ ๋ฐ˜์˜ ์ฝ”๋“œ ์œ„์น˜ ์ˆ˜์ • / ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* style : ๋ผ์ธ ํฌ๋งคํŒ… ๋ฐ ํด๋ž˜์Šค ์‚ญ์ œ

* test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat : ์‚ฌ์žฅ๋‹˜ ์‹๋‹น ์ƒ์„ฑ, ํŠน์ • ์ƒ์  ์กฐํšŒ API๊ตฌํ˜„ (#199)

* feat: ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ƒ์ ๋“ฑ๋ก์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ด€๋œ model์ •์˜

* feat: shop๊ณผ ๊ด€๋ จ๋œ repository, exception์ž‘์„ฑ

* feat: 1์ฐจ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

* feat: ์‚ฌ์žฅ๋‹˜ ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŠน์ •์ƒ์ ์กฐํšŒ API๊ตฌํ˜„

* refactor: ํŠน์ •์ƒ์ ์กฐํšŒ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* chore: import๊ฒฝ๋กœ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: pull์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: saveAll์ œ๊ฑฐ

* feat: ์Šค์›จ๊ฑฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Builder์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ (#189)

* refactor: ํšŒ์› ํƒˆํ‡ด ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* feat: ์ค‘๋ณต ๋ฐ์ดํ„ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* feat: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* feat: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ํ…Œ์ŠคํŠธ

* refactor: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๋กœ์ง ์ˆ˜์ •

* feat: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ค‘๋ณต์•„๋‹๋•Œ, ์ œ์•ฝ์กฐ๊ฑด์œ„๋ฐ˜์‹œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ํŒŒ๋ผ๋ฏธํ„ฐ valid ์ ์šฉ

* refactor: ์ „์—ญ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์˜ˆ์™ธ ์ œ๊ฑฐ(์ด๋ฏธ ์ „์— ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ์Œ)

* feat: ์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: ์ฝ”๋ฉ˜ํŠธ ๋ฐ˜์˜ ์ˆ˜์ •

* feat : ์‹๋‹จ Api ๊ตฌํ˜„ (#193)

* feat : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : VersionException ์ œ๊ฑฐ

* chore : SnakeCaseStrategy import static ์ˆ˜์ •

* refactor : ์—”ํ‹ฐํ‹ฐ id int -> Long ์ˆ˜์ •

* feat : ์‚ฌ์žฅ๋‹˜ ์‹๋‹น ์ƒ์„ฑ, ํŠน์ • ์ƒ์  ์กฐํšŒ API๊ตฌํ˜„ (#199)

* feat: ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ƒ์ ๋“ฑ๋ก์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ด€๋œ model์ •์˜

* feat: shop๊ณผ ๊ด€๋ จ๋œ repository, exception์ž‘์„ฑ

* feat: 1์ฐจ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

* feat: ์‚ฌ์žฅ๋‹˜ ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŠน์ •์ƒ์ ์กฐํšŒ API๊ตฌํ˜„

* refactor: ํŠน์ •์ƒ์ ์กฐํšŒ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* chore: import๊ฒฝ๋กœ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: pull์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: saveAll์ œ๊ฑฐ

* feat: ์Šค์›จ๊ฑฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Builder์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* feat : ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : ํ…Œ์ŠคํŠธ ์ •๋ณด ์ˆ˜์ •

* chore : ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor : menu String -> List ์ˆ˜์ •

* fix : ํ…Œ์ด๋ธ”๋ช… ์ˆ˜์ •

* refactor : ํ˜„์žฌ์‹œ๊ฐ„์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด clock ๋ชจํ‚น ์ถ”๊ฐ€

* remove : ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ˆ์™ธ ์‚ญ์ œ

* chore : ํ…Œ์ŠคํŠธ์ฝ”๋“œ public ์ œ์™ธ, ๋ถˆํ•„์š”ํ•œ ๊ณต๋ฐฑ ์‚ญ์ œ

---------

Co-authored-by: Hyeonsu Lee <127578418+20HyeonsuLee@users.noreply.github.com>

* feat : ํŠน์ •์ƒ์  ์ „์ฒด๋ฉ”๋‰ด์กฐํšŒ api์ž‘์„ฑ (#208)

* feat: ํŠน์ • ์ƒ์  ๋ชจ๋“  ๋ฉ”๋‰ด์กฐํšŒ api ์ž‘์„ฑ

* feat: ํŠน์ • ์ƒ์  ๋ชจ๋“  ๋ฉ”๋‰ด์กฐํšŒ api ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์‚ฌํ•ญ ๋ฐ˜์˜ 1 ์ฐจ

* feat: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์‚ฌํ•ญ ๋ฐ˜์˜ 2์ฐจ

* feat : BCSD Lab ํ™œ๋™ api๊ตฌํ˜„ (#207)

* feat: bcsd lab ํ™œ๋™ ๊ฐ€์ ธ์˜ค๊ธฐ 1์ฐจ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ

* refactor: ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ์—์„œ ๋งต์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: activitiy api ๋ฐ˜ํ™˜๊ฐ’ ๋งต์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: controller๊ฐ€ ActivityApi๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ๋ฌธ์ž ์ œ๊ฑฐ

* style: ์„œ๋น„์Šค ๋กœ์ง ์ตœ์ ํ™”

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore: ๋ถˆํ•„์š”ํ•œ ๋ฌธ์ž ์ œ๊ฑฐ

* chore: 1์ฐจ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ”ผ๋“œ๋ฐฑ ์ ์šฉ

* chore: ํ…Œ์ŠคํŠธ ์ •๋ณด ์ฃผ์ •

* style: ํ…Œ์ŠคํŠธ์— param ์ ์šฉ

* chore: ์ค„ ๋ฐ”๊ฟˆ ์ˆ˜์ •

* style: ๋ฐ˜ํ™˜ ํƒ€์ž… ์„ dto๋กœ ๋ณ€๊ฒฝ

* style: ์ปจํŠธ๋กค๋Ÿฌ ๋ณ€์ˆ˜์˜ ๋ฐ˜ํ™˜ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

* chore: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋‚ด์šฉ ์ถ”๊ฐ€

* chore: ActivitiesResponseList Dto์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: Presigned URL ๊ตฌํ˜„ (#210)

* feat: Enum Converter ์ถ”๊ฐ€

* style: ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: Controller ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ์˜ˆ์™ธ ์ˆ˜์ •

* chore: ํŒจํ‚ค์ง€ ๊ตฌ๋ถ„

* refactor: ์™ธ๋ถ€ API๋กœ ๊ตฌ๋ถ„

* style: ๊ณต๋ฐฑ์ œ๊ฑฐ

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: fileName ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

* refactor: request dto swagger ์„ค๋ช… ์ถ”๊ฐ€

* refactor: passwordEncoder ํ™œ์šฉํ•˜๋„๋ก ์ˆ˜์ • (#211)

* fix: ํŠน์ • ์ƒ์  ์ „์ฒด๋ฉ”๋‰ด์กฐํšŒ ์‘๋‹ต ๊ฐ์ฒด ๋ฏธ์Šค๋งค์น˜ ์ˆ˜์ • (#214)

* feat: ํŠน์ • ์ƒ์  ๋ชจ๋“  ๋ฉ”๋‰ด์กฐํšŒ api ์ž‘์„ฑ

* feat: ํŠน์ • ์ƒ์  ๋ชจ๋“  ๋ฉ”๋‰ด์กฐํšŒ api ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์ฝ”๋“œ๋ฆฌ๋ทฐ์‚ฌํ•ญ ๋ฐ˜์˜ 1 ์ฐจ

* feat: ์ฝ”๋“œ ๋ฆฌ๋ทฐ์‚ฌํ•ญ ๋ฐ˜์˜ 2์ฐจ

* fix: menus์‘๋‹ต ์ˆ˜์ •

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore: ์‘๋‹ต ํ•„๋“œ ์ด๋ฆ„ ์ˆ˜์ •

* chore: ์‘๋‹ต ํ•„๋“œ ์ด๋ฆ„ ์ˆ˜์ •

* feat: ์‹œ๊ฐ„ํ‘œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#212)

* feat: ์‹œ๊ฐ„ํ‘œ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์‹œ๊ฐ„ํ‘œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์‹œ๊ฐ„ํ‘œ ์ˆ˜์ •/์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ์‹œ๊ฐ„ํ‘œ ์ˆ˜์ • ๋ณ€๊ฒฝ

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

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

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

* refactor: UpdateTimeTableRequest ์ด๋ฆ„ ์ˆ˜์ •

UpdateTimeTableRequest -> TimeTableUpdateRequest

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

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

* feat: ํŒŒ์ผ ๋‹จ๊ฑด ์—…๋กœ๋“œ ๊ตฌํ˜„ (#227)

* feat: ํŒŒ์ผ ๋‹จ๊ฑด ์—…๋กœ๋“œ ๊ตฌํ˜„

* refactor: swagger ๋ฌธ์„œ ์ถ”๊ฐ€

* refactor: swagger ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* refactor: ํŒŒ์ผ ์ตœ๋Œ€ํฌ๊ธฐ ์„ค์ • ๋ณ€๊ฒฝ

* refactor: ํ•„๋“œ์ฃผ์ž…๋ฐฉ์‹ฑ์„ ์ƒ์„ฑ์ž์ฃผ์ž… ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํŒŒ์ผ ๋‹ค์ค‘ ์—…๋กœ๋“œ ๊ตฌํ˜„ (#229)

* feat: ํŒŒ์ผ ๋‹ค์ค‘ ์—…๋กœ๋“œ ๊ตฌํ˜„

* docs: swagger ์ˆ˜์ •

* feat: ์˜์–‘์‚ฌ ๊ถŒํ•œ ์ถ”๊ฐ€ (#231)

* feat: ์˜์–‘์‚ฌ ๊ถŒํ•œ ์ถ”๊ฐ€

* fix: ํ›„ํ–‰์‰ผํ‘œ ์ถ”๊ฐ€

* fix: ๋ณต๋•๋ฐฉ ์ „์ œ ์กฐํšŒ ์‘๋‹ต ๊ฐ์ฒด ๋ฏธ์Šค๋งค์น˜ ์ˆ˜์ • (#215)

* chore: LandListItemResponse dto์ด๋ฆ„ LandsResponse๋กœ ๋ณ€๊ฒฝ

* fix: ๋ฐ˜ํ™˜๊ฐ’ list์—์„œ key valueํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ

* fix: UploadServiceTest ์ˆ˜์ •

* style: ๋ผ์ธ ํฌ๋งทํŒ…

* chore: ActivityResponse ์˜ˆ์‹œ ์ˆ˜์ •

* style: dto๋ฅผ ์ผ๋ฐ˜ ํด๋ž˜์Šค์—์„œ recordํด๋ž˜์Šค๋กœ ์ˆ˜์ •

* style: ActivitiesResponse dto๋ฅผ ์ผ๋ฐ˜ ํด๋ž˜์Šค์—์„œ recordํด๋ž˜์Šค๋กœ ์ˆ˜์ •

* feat: FCM ์„ค์ • (#232)

* refactor: ์ƒ์  Entity ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ • (#237)

* feat: shop์—ฐ๊ด€๊ด€๊ณ„ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๋ ˆ์ด์–ด dto๋ณ€ํ™˜ ๋กœ์ง ์ œ๊ฑฐ

* feat: ์ƒ์ ์‚ฌ์žฅ๋‹˜์ด ํŠน์ • ์ƒ์ ์„ ์กฐํšŒํ•˜๋Š” api์ž‘์„ฑ (#240)

* feat: ์ƒ์ ์กฐํšŒ api์ž‘์„ฑ

* chore: ๋ผ์ธํฌ๋งทํŒ…

* chore: ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์žฅ๋‹˜์ด ํŠน์ • ์ƒ์  ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ถ„๋ฆฌ

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* feat : ์˜์–‘์‚ฌ ํ’ˆ์ ˆ ์ •๋ณด ์ž…๋ ฅ (#238)

* feat : Dining ํด๋ž˜์Šค์— soldOut ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat : DiningResponse DTO์— soldOut ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat : flyway DB์— sold_out ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat : SoldOutRequest DTO ํด๋ž˜์Šค ์ถ”๊ฐ€(๋ฉ”๋‰ด์•„์ด๋””, ํ’ˆ์ ˆ์—ฌ๋ถ€)

* feat : CoopDiningController, CoopDiningApi ํด๋ž˜์Šค ์ถ”

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

* feat : DiningRepository ํ’ˆ์ ˆ์—ฌ๋ถ€ ๋ณ€๊ฒฝ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ์šฉ ๋ฉ”์„œ๋“œ ์ถ”

* feat : ์˜์–‘์‚ฌ ํ’ˆ์ ˆ ์š”์ฒญ ํ…Œ์ŠคํŠธ, ๊ถŒํ•œ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ถ”

* feat : ๊ธฐ์กด ํ…Œ์ŠคํŠธ ๋™์ž‘ํ•˜๋„๋ก ์ˆ˜์ •

* feat : ๋ฆฌ๋ทฐ ๋ฐ˜

* feat : ๋ฆฌ๋ทฐ ๋ฐ˜์˜, ํ…Œ์ŠคํŠธ ๋ฐฉ์‹ ๋ณ€

* feat : coop ํŒจํ‚ค์ง€ ๋ถ„

* feat : setSoldOut() ๋ฉ”์„œ๋“œ ์ถ”

* feat : update ๋ฐฉ์‹์„ ์กฐํšŒ ํ›„ setํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€

* feat : ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์‚ญ

* feat : ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ํ…Œ์ŠคํŠธ ๋ณ€๊ฒฝ

* feat : ์ธ๊ฐ€ ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat : getById()๋กœ ์ˆ˜์ •

* feat : ๊ฐœํ–‰ ์ถ”๊ฐ€

* feat : ๋ฉ”๋‰ด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ปจ๋ฒค์…˜ ๋ฐ˜์˜

* refactor: snakecase๋กœ ๋ณ€๊ฒฝ

* feat : ์˜์–‘์‚ฌ ์ฝ”๋„ˆ๋ณ„ ์‹๋‹จ ์‚ฌ์ง„ ์—…๋กœ๋“œ  (#241)

* feat : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : VersionException ์ œ๊ฑฐ

* chore : SnakeCaseStrategy import static ์ˆ˜์ •

* refactor : ์—”ํ‹ฐํ‹ฐ id int -> Long ์ˆ˜์ •

* feat : ์‚ฌ์žฅ๋‹˜ ์‹๋‹น ์ƒ์„ฑ, ํŠน์ • ์ƒ์  ์กฐํšŒ API๊ตฌํ˜„ (#199)

* feat: ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ƒ์ ๋“ฑ๋ก์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ด€๋œ model์ •์˜

* feat: shop๊ณผ ๊ด€๋ จ๋œ repository, exception์ž‘์„ฑ

* feat: 1์ฐจ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

* feat: ์‚ฌ์žฅ๋‹˜ ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŠน์ •์ƒ์ ์กฐํšŒ API๊ตฌํ˜„

* refactor: ํŠน์ •์ƒ์ ์กฐํšŒ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* chore: import๊ฒฝ๋กœ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: pull์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: saveAll์ œ๊ฑฐ

* feat: ์Šค์›จ๊ฑฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Builder์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* feat : ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : ํ…Œ์ŠคํŠธ ์ •๋ณด ์ˆ˜์ •

* chore : ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor : menu String -> List ์ˆ˜์ •

* fix : ํ…Œ์ด๋ธ”๋ช… ์ˆ˜์ •

* refactor : ํ˜„์žฌ์‹œ๊ฐ„์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด clock ๋ชจํ‚น ์ถ”๊ฐ€

* remove : ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ˆ์™ธ ์‚ญ์ œ

* chore : ํ…Œ์ŠคํŠธ์ฝ”๋“œ public ์ œ์™ธ, ๋ถˆํ•„์š”ํ•œ ๊ณต๋ฐฑ ์‚ญ์ œ

* feat : ์˜์–‘์‚ฌ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ๊ตฌํ˜„

* feat : ์‹๋‹จ ์ด๋ฏธ์ง€ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat : ์˜์–‘์‚ฌ ๊ถŒํ•œ ๋ฐ ์˜์–‘์‚ฌ ๋„๋ฉ”์ธ enum ์ถ”๊ฐ€

* feat : image ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat : Image ์—…๋กœ๋“œ ์š”์ฒญ DTO ์ƒ์„ฑ

* feat : ์˜์–‘์‚ฌ๋‹˜์˜ ์‚ฌ์ง„ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat : ํŠน์ • ์‹๋‹จ์˜ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* feat : ์ฟผ๋ฆฌ๋ฌธ ์ˆ˜์ •

* chore : log ์ œ๊ฑฐ

* refactor : coop Api ๋ถ„๋ฆฌ

* refactor : image_url๋กœ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor : image_url๋กœ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* chore : menuId๋กœ ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒดํ™”

* chore : V$ -> V3 ๋ฒ„์ „ ์ˆ˜์ •

* remove : repository ๊ณ„์ธต ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ(service ๊ณ„์ธต ์ฒ˜๋ฆฌ)

* feat : ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ๊ถŒํ•œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor : update ์ˆ˜์ •(setter ์ด์šฉ)

* refactor : ํ…Œ์ŠคํŠธ - ํ—ˆ์šฉ๋˜์ง€์•Š์€ ๊ถŒํ•œ ์ˆ˜์ •

* refactor : getById() ์ถ”๊ฐ€

* chore : Optional ๊ฒ€์ฆ์„ ์œ„ํ•ด findById() -> getById() ์ˆ˜์ •

* remove() : DynamicUpdate ์ œ๊ฑฐ

* chore : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : ํŒŒ์ผ ์œ„์น˜ ์ˆ˜์ •

---------

Co-authored-by: Hyeonsu Lee <127578418+20HyeonsuLee@users.noreply.github.com>

* feat: ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… (#244)

* feat: ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… ๋ฐ ์Šฌ๋ž™ ์•Œ๋ฆผ๋ฐœ์†ก ๊ตฌํ˜„

* refactor: slack ์•Œ๋ฆผ๋ฐœ์†ก ๋กœ์ง ์ˆ˜์ •

* refactor: ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… ๋กœ์ง ๊ตฌ์„ฑ

* test: ๋ฏธ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: ์ฝ”๋“œ ํฌ๋งทํŒ…

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: update flyway

* feature: ์ƒ์  ์‚ฌ์žฅ๋‹˜ ๊ด€๋ จ ๋ชจ๋“  GET API๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. (#245)

* feat: ์ƒ์ ์กฐํšŒ api์ž‘์„ฑ

* chore: ๋ผ์ธํฌ๋งทํŒ…

* feat: ์ ์ฃผ์ „์šฉ ์ƒ์ ๊ด€๋ จ ์กฐํšŒ api์ž‘์„ฑ

* feat: ์‚ฌ์žฅ๋‹˜ ์ƒ์  ์กฐํšŒ api get ๋ชจ๋‘ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* fix: ๊ฒŒ์‹œํŒ ๊ณต์ง€์‚ฌํ•ญ ํŒ๋‹จ ๋กœ์ง ์ˆ˜์ • (#246)

* fix: ๊ณต์ง€์‚ฌํ•ญ ํŒ๋‹จ ๋กœ์ง ์ˆ˜์ •

* fix: ๊ณต์ง€์‚ฌํ•ญ ํŒ๋‹จ ๋กœ์ง ์žฌ์ˆ˜์ •

* refactor: ๊ฒŒ์‹œํŒ ํƒœ๊ทธ enum์œผ๋กœ ๋ถ„๋ฆฌ

* feat: ์‚ฌ์žฅ๋‹˜ ์ธ์ฆ์ฝ”๋“œ ๊ฒ€์ฆ (#248)

* feat: ์‚ฌ์žฅ๋‹˜ ์ธ์ฆ๋ฒˆํ˜ธ ์ธ์ฆ ๊ตฌํ˜„

* refactor: ๋กœ์ง ์ˆ˜์ • ๋ฐ ์ธ์ฆ์ด ์™„๋ฃŒ๋œ ๊ฐ’์— ๋Œ€ํ•ด ๋ ˆ๋””์Šค ์ œ๊ฑฐ

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

* build: ํ…Œ์ด๋ธ” ๋ณต์›

* refactor: ์ธ์ฆ๋ฐฉ์‹ ์ˆ˜์ •, ์‚ฌ์šฉ์ž ์ธ์ฆ์—†์ด ์‚ฌ์šฉ์ž id๋งŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ `@UserId`๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: MySQL ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ๋ฒ„์ „ 8.0.29๋กœ ์ˆ˜์ •

* refactor: ArgumentResolver Webconfig ๋“ฑ๋ก

* refactor: ํŒŒ์ผ์—…๋กœ๋“œ ์ž„์‹œ ํ† ํฐ์— ๋Œ€ํ•œ ํ—ˆ์šฉ

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜ ์‚ฌ์šฉ

* fix: ์ „๊ณต๋ณ„ ์ปค๋ฆฌํ˜๋Ÿผ ๋งํฌ ์ˆ˜์ •, ์ƒˆ๋กœ์šด ๊ณผ ์ถ”๊ฐ€ (#251)

* fix: ์ „๊ณต๋ณ„ ์ปค๋ฆฌํ˜๋Ÿผ ๋งํฌ ์ˆ˜์ •, ์ƒˆ๋กœ์šด ๊ณผ ์ถ”๊ฐ€

* fix: ์ „๊ณต๋ณ„ ์ปค๋ฆฌํ˜๋Ÿผ ๋งํฌ ๋‹ค์‹œ ์ˆ˜์ •

* chore: DeptListItemResponse์ด๋ฆ„์„ DeptsResponse๋กœ ๋ณ€๊ฒฝ

* style: ์™€์ผ๋“œ ์นด๋“œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋‹ค์‹œ ์›๋ž˜๋Œ€๋กœ ๋ณต๊ตฌ

* chore: ์ฃผ์„ ์„ค๋ช… ๋ณ€๊ฒฝ

* style: ์—ด๊ฑฐํ˜• ์‚ฌ์šฉํ•ด์„œ ํ•„ํ„ฐ ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ์‚ฌ์žฅ๋‹˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ๋ฐœ๊ธ‰ ๊ตฌํ˜„ (#253)

* feat: ์‚ฌ์žฅ๋‹˜ ์ธ์ฆ๋ฒˆํ˜ธ ์ธ์ฆ ๊ตฌํ˜„

* refactor: ๋กœ์ง ์ˆ˜์ • ๋ฐ ์ธ์ฆ์ด ์™„๋ฃŒ๋œ ๊ฐ’์— ๋Œ€ํ•ด ๋ ˆ๋””์Šค ์ œ๊ฑฐ

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

* build: ํ…Œ์ด๋ธ” ๋ณต์›

* refactor: ์ธ์ฆ๋ฐฉ์‹ ์ˆ˜์ •, ์‚ฌ์šฉ์ž ์ธ์ฆ์—†์ด ์‚ฌ์šฉ์ž id๋งŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ `@UserId`๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: MySQL ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ๋ฒ„์ „ 8.0.29๋กœ ์ˆ˜์ •

* refactor: ArgumentResolver Webconfig ๋“ฑ๋ก

* refactor: ํŒŒ์ผ์—…๋กœ๋“œ ์ž„์‹œ ํ† ํฐ์— ๋Œ€ํ•œ ํ—ˆ์šฉ

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์‚ฌ์žฅ๋‹˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ API ๊ตฌํ˜„

* refactor: ์ด๋ฉ”์ผ ํ˜•์‹ ์ˆ˜์ •

* refactor: ์ธ์ฆ ์ œ๊ฑฐ

* feat : ํšŒ์› ์ •๋ณด ์ˆ˜์ • (#236)

* feat : DTO ์ถ”๊ฐ€

* feat : ์œ ์ € ์ˆ˜์ • ์ถ”๊ฐ€

* test : log.all() ์‚ญ์ œ ๋ฐ 422๋ฒˆ ์˜ค๋ฅ˜ ์‚ญ์ œ

* chore : update ์ˆ˜์ • ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Request ๊ฐ์ฒด ์‚ญ์ œ

* refactor : update ์ด๋ฆ„ ์ˆ˜์ •

* refactor : DTO major ๋ผ์ธ ํฌ๋งทํŒ…

* chore : bulider() ๋ฏธ์‚ฌ์šฉ ๋ฐ update ๋กœ์ง ์ˆ˜

* chore : ๋ฆฌ๋ทฐ ๋ฐ˜์˜ ๋ฐ ํ•™๋ถ€/ํ•™๋ฒˆ 404 -> 400๋ฒˆ ์˜ค๋ฅ˜๋กœ ์ˆ˜์ •

* chore : ApiResponse ์ˆ˜์ •

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

* chore : withDetail ์ˆ˜์ •

* chore : ๋ฆฌ๋ทฐ ๋ฐ˜์˜(์ฝ”๋“œ ์Šคํƒ€์ผ ๋ฐ ๋ฉ”์†Œ๋“œ ๋ถ„๋ฆฌ)

* chore : Local ๋‚ด ํšŒ์› ์ •๋ณด ์กฐํšŒ ์˜ค๋ฅ˜ ํ™•์ธ ์ถ”๊ฐ€

* chore : ์‚ผํ•ญ ์—ฐ์‚ฐ์ž ์ œ๊ฑฐ

* chore : Response department null ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : ๋ณ€์ˆ˜ ์ˆ˜์ • ๋ฐ Gender null ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : ๋ณ€์ˆ˜ ์ˆ˜์ • ๋ฐ department null ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : DB ํ•™๊ณผ ํ•œ๊ธ€ ์ €์žฅ

* chore : DB ์ €์žฅ ์ฒดํฌ(Enumerated ์‚ญ์ œ)

* chore : DB ์ €์žฅ ์ฒดํฌ(Enumerated ์‚ญ์ œ ๋ฐ model ์ด๋ฆ„ ์ˆ˜์ •)

* chore : ENUM ์‚ฌ์šฉํ•˜๋„๋ก ์žฌ์ˆ˜์ •

* fix : ENUM -> STRING ์‚ฌ์šฉ

* chore : ๊ฒ€์ฆ ENUM์œผ๋กœ ์ด๋™

* chore : ENUM ์˜์–ด ๋ณ€์ˆ˜๋กœ ์ˆ˜์ •

* chore : ENUM ํ›„ํ–‰ ์‰ผํ‘œ ์ถ”๊ฐ€

* fix: ํ•™๊ธฐ ์ตœ์‹  ์ˆœ์œผ๋กœ ๋ฐ˜ํ™˜ (#268)

* feat : ์•Œ๋ฆผ ๊ตฌ๋… Api ๊ตฌํ˜„ (#269)

* feat : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : VersionException ์ œ๊ฑฐ

* chore : SnakeCaseStrategy import static ์ˆ˜์ •

* refactor : ์—”ํ‹ฐํ‹ฐ id int -> Long ์ˆ˜์ •

* feat : ์‚ฌ์žฅ๋‹˜ ์‹๋‹น ์ƒ์„ฑ, ํŠน์ • ์ƒ์  ์กฐํšŒ API๊ตฌํ˜„ (#199)

* feat: ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ƒ์ ๋“ฑ๋ก์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ด€๋œ model์ •์˜

* feat: shop๊ณผ ๊ด€๋ จ๋œ repository, exception์ž‘์„ฑ

* feat: 1์ฐจ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

* feat: ์‚ฌ์žฅ๋‹˜ ์ƒ์  ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŠน์ •์ƒ์ ์กฐํšŒ API๊ตฌํ˜„

* refactor: ํŠน์ •์ƒ์ ์กฐํšŒ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* chore: import๊ฒฝ๋กœ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: pull์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: saveAll์ œ๊ฑฐ

* feat: ์Šค์›จ๊ฑฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Builder์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* refactor: ShopResponse ์ ํŒฉ๋ฉ”์ด๋ฆ„ of๋กœ ๋ณ€๊ฒฝ

* feat : ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* chore : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : ํ…Œ์ŠคํŠธ ์ •๋ณด ์ˆ˜์ •

* chore : ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช… ์ถ”๊ฐ€

* refactor : menu String -> List ์ˆ˜์ •

* fix : ํ…Œ์ด๋ธ”๋ช… ์ˆ˜์ •

* refactor : ํ˜„์žฌ์‹œ๊ฐ„์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด clock ๋ชจํ‚น ์ถ”๊ฐ€

* remove : ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ˆ์™ธ ์‚ญ์ œ

* chore : ํ…Œ์ŠคํŠธ์ฝ”๋“œ public ์ œ์™ธ, ๋ถˆํ•„์š”ํ•œ ๊ณต๋ฐฑ ์‚ญ์ œ

* feat : ์˜์–‘์‚ฌ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ๊ตฌํ˜„

* feat : ์‹๋‹จ ์ด๋ฏธ์ง€ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat : ์˜์–‘์‚ฌ ๊ถŒํ•œ ๋ฐ ์˜์–‘์‚ฌ ๋„๋ฉ”์ธ enum ์ถ”๊ฐ€

* feat : image ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat : Image ์—…๋กœ๋“œ ์š”์ฒญ DTO ์ƒ์„ฑ

* feat : ์˜์–‘์‚ฌ๋‹˜์˜ ์‚ฌ์ง„ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat : ํŠน์ • ์‹๋‹จ์˜ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ์ฟผ๋ฆฌ ์ถ”๊ฐ€

* feat : ์ฟผ๋ฆฌ๋ฌธ ์ˆ˜์ •

* chore : log ์ œ๊ฑฐ

* refactor : coop Api ๋ถ„๋ฆฌ

* refactor : image_url๋กœ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor : image_url๋กœ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* chore : menuId๋กœ ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒดํ™”

* chore : V$ -> V3 ๋ฒ„์ „ ์ˆ˜์ •

* remove : repository ๊ณ„์ธต ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ(service ๊ณ„์ธต ์ฒ˜๋ฆฌ)

* feat : ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ๊ถŒํ•œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor : update ์ˆ˜์ •(setter ์ด์šฉ)

* refactor : ํ…Œ์ŠคํŠธ - ํ—ˆ์šฉ๋˜์ง€์•Š์€ ๊ถŒํ•œ ์ˆ˜์ •

* refactor : getById() ์ถ”๊ฐ€

* chore : Optional ๊ฒ€์ฆ์„ ์œ„ํ•ด findById() -> getById() ์ˆ˜์ •

* remove() : DynamicUpdate ์ œ๊ฑฐ

* chore : ์ถฉ๋Œ ํ•ด๊ฒฐ

* chore : ํŒŒ์ผ ์œ„์น˜ ์ˆ˜์ •

* feat : ์•Œ๋ฆผ ๊ตฌ๋… ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ

* feat: flyway ํ…Œ์ด๋ธ” ์ถ”๊ฐ€

* feat: API ํ˜•ํƒœ ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ๊ตฌ๋… ์ถ”๊ฐ€, ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ์ž‘์„ฑ

* feat: ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ถ”๊ฐ€์ค‘..

* feat : delete api ์ˆ˜์ •

* feat: post ์ˆ˜์ • ์ค‘ ..

* feat: GET ์š”์ฒญ ๋ฐ˜ํ™˜๊ฐ’ ๋งŒ๋“ค๊ธฐ

* feat: ์•ˆ์ •ํ™”

* feat: notification ํŒฉํ† ๋ฆฌ ์ถ”๊ฐ€

* feat: getNotification ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ์ค‘

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ์ค‘..

* feat: getNotification ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ์™„๋ฃŒ

* feat: ์Šค๋„ค์ดํฌ์ผ€์ด์Šค๋กœ ๋ณ€๊ฒฝ ํ›„ ๋””๋ฐ”์ด์Šคํ† ํฐ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: post๋ฐ˜ํ™˜๊ฐ’ ์ˆ˜์ •

* feat : deleteNotification ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat : NotificationApiTest ์™„์„ฑ

* remove : ์•Œ๋ฆผ ๊ตฌ๋… ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* fix: ์ƒ์† ๋ฐ›๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค ์ˆ˜์ •

* fix: BIGINT -> UNSIGNED INT ์ˆ˜์ •

* test: koinAppUrl ์ถ”๊ฐ€

* style: ๋ผ์ธํฌ๋งทํŒ…

* test: .log().all() ์ œ๊ฑฐ

---------

Co-authored-by: Hyeonsu Lee <127578418+20HyeonsuLee@users.noreply.github.com>
Co-authored-by: songsunkook <songsunkook@gmail.com>
Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>
Co-authored-by: แ„Žแ…ฌแ„Œแ…ฎแ†ซแ„’แ…ฉ <junho5336@gmail.com>

* feat: ๋ฉ”๋‰ด ๋ณ€๊ฒฝ ์—ฌ๋ถ€ ์ถ”๊ฐ€ (#250)

* feat: ๋ฉ”๋‰ด ๋ณ€๊ฒฝ ํ™•์ธ ์ถ”๊ฐ€

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: flyway ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* refactor: V4์—์„œ V5๋กœ ๋ณ€๊ฒฝ

* rename: V5์—์„œ V6์œผ๋กœ ๋ณ€๊ฒฝ

* Revert "feat: ๋ฉ”๋‰ด ๋ณ€๊ฒฝ ์—ฌ๋ถ€ ์ถ”๊ฐ€ (#250)" (#273)

This reverts commit f8458cc.

* refactor: ๋ฉ”๋‰ด ๋ณ€๊ฒฝ ์—ฌ๋ถ€ ์ปฌ๋Ÿผ๋ช… ํ†ต์ผ (#274)

* feat: ๋ฉ”๋‰ด ๋ณ€๊ฒฝ ํ™•์ธ ์ถ”๊ฐ€

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: flyway ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* refactor: V4์—์„œ V5๋กœ ๋ณ€๊ฒฝ

* rename: V5์—์„œ V6์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ์กฐํšŒ - ์‹œ๋‚ด๋ฒ„์Šค (#239)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: mongoDB ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ๋ฏธ์šดํ–‰์ธ ๋ฒ„์Šค ํ•„ํ„ฐ๋ง

* feat: enum ์ถ”๊ฐ€

* feat: ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ž‘์„ฑ

* feat: ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฒ„์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์‘๋‹ต ๊ตฌํ˜„

* feat: ๋ฏธ์šดํ–‰ ์š”์ผ ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ฒ„์Šค ์ •๊ฑฐ์žฅ ๊ฒ€์ฆ๋กœ์ง ์ ์šฉ ๋ฐ ์ค‘๋ณต๋˜๋Š” ์‹œ๊ฐ„ ์ œ์™ธ

* refactor: enum ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋“ฑํ•˜๊ต ๋ฐฉํ–ฅ ๊ธฐ์ค€ ํƒ์ƒ‰์—์„œ ์ •๋ฅ˜์žฅ ํƒ์ƒ‰์œผ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

BusCourse.isRunning()

* refactor: ํ…Œ์ŠคํŠธ mocking ์œ„ํ•ด Clock ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ปจํ…Œ์ด๋„ˆ mongoDB ์ถ”๊ฐ€

* test: ์…”ํ‹€ ๋ฒ„์Šค ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‹œ๋‚ด๋ฒ„์Šค Open API ํ˜ธ์ถœ ๋กœ์ง ์ž‘์„ฑ

* feat: ๋ฐฉํ–ฅ ํŒ๋‹จ ๋กœ์ง ์ถ”๊ฐ€

* fix: ํ˜ธ์ถœ ์˜ˆ์™ธ ์ˆ˜์ •

* feat: json ํŒŒ์‹ฑ ๋กœ์ง ์ž‘์„ฑ

1. json ํŒŒ์‹ฑ ๋กœ์ง ์ž‘์„ฑ
2. ๊ฒฐ๊ณผ ์ฝ”๋“œ ๊ฒ€์ฆ
3. ์˜ˆ์™ธ ์ถ”๊ฐ€ (500 ๋ฐ˜ํ™˜)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: mongoDB ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ๋ฏธ์šดํ–‰์ธ ๋ฒ„์Šค ํ•„ํ„ฐ๋ง

* feat: enum ์ถ”๊ฐ€

* feat: ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ž‘์„ฑ

* feat: ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฒ„์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์‘๋‹ต ๊ตฌํ˜„

* feat: ๋ฏธ์šดํ–‰ ์š”์ผ ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ฒ„์Šค ์ •๊ฑฐ์žฅ ๊ฒ€์ฆ๋กœ์ง ์ ์šฉ ๋ฐ ์ค‘๋ณต๋˜๋Š” ์‹œ๊ฐ„ ์ œ์™ธ

* refactor: enum ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋“ฑํ•˜๊ต ๋ฐฉํ–ฅ ๊ธฐ์ค€ ํƒ์ƒ‰์—์„œ ์ •๋ฅ˜์žฅ ํƒ์ƒ‰์œผ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

BusCourse.isRunning()

* refactor: ํ…Œ์ŠคํŠธ mocking ์œ„ํ•ด Clock ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ปจํ…Œ์ด๋„ˆ mongoDB ์ถ”๊ฐ€

* test: ์…”ํ‹€ ๋ฒ„์Šค ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* docs: API ๋ฌธ์„œ์— ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด ๋ช…์‹œ

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋ˆ„๋ฝ๋œ Transactional ์ถ”๊ฐ€

* fix: mocking ๋ณ€์ˆ˜ ์„ ์–ธ๋ถ€ ์ด๋™

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋„์ฐฉ ์‹œ๊ฐ ํŒจํ„ด ๋ถˆ์ผ์น˜ ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: ๋ฐ˜๋ณต๋ฌธ์„ stream์œผ๋กœ ๋ณ€ํ™˜

* refactor: ์—”ํ‹ฐํ‹ฐ ํ•„๋“œ๋กœ List ์‚ฌ์šฉ ์‹œ ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”

* refactor: String ๋น„๊ต ์‹œ NPE ์˜ˆ๋ฐฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋งคํ•‘ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ

* rename: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: Builder ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •

* refactor: enum ํ•„๋“œ ๊ฐ„์†Œํ™”

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* feat: ๋ฒ„์Šค๋ฒˆํ˜ธ ํ•„ํ„ฐ๋ง

* feat: ์‹œ๋‚ด๋ฒ„์Šค ์กฐํšŒ ์ •๋ณด๋ฅผ ๋ ˆ๋””์Šค ์บ์‹œ๋กœ ์ €์žฅ

* feat: ๋ฒ„์ „ ์ตœ์‹ ํ™” ๋ฉ”์„œ๋“œ ์ž‘์„ฑ

* refactor: Pair๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* feat: ApiType ์ถ”๊ฐ€

- BusType๊ณผ BusOpenApiRequester ํƒ€์ž… ๋งตํ•‘์„ ์œ„ํ•จ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: record๋กœ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ์บ์‹œ ์ €์žฅ ์ •๋ณด ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: ์‹œ๋‚ด๋ฒ„์Šค ๋ฒ„์Šค ๋ฒˆํ˜ธ ๋ฐ˜ํ™˜ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: ๋ฒ„์Šค ํƒ€์ž…๋ณ„ ๋กœ์ง ๋ถ„๊ธฐ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์บ์‹ฑ ์ •๋ณด ์ถ”๊ฐ€

- ๋‚จ์€ ์‹œ๊ฐ„๋งŒ ์บ์‹ฑ -> ๋ฒ„์Šค ๋„์ฐฉ ์ •๋ณด ํ†ต์งธ๋กœ ์บ์‹ฑ
- api url ์ˆ˜์ •
- ๋ฒ„์ „ ์ •๋ณด ์ €์žฅ
- forEach -> for

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ถ”๊ฐ€

- ๋ฒ„์Šค ์บ์‹ฑ ์ •๋ณด ์ˆ˜์ •
- ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‘๋‹ต ๊ฐ์ฒด ์ˆ˜์ •

- ๊ธฐ์กด: "now_bus": {"bus_number": null, ...}
- ์ˆ˜์ •: "now_bus": null

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‘๋‹ต ๊ฐ์ฒด null ์ฒดํฌ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: test ์ž‘์„ฑ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋นˆ ๋ฐฐ์—ด ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋„์ฐฉ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๊ฐ„ ์ฐจ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: null ํ•„ํ„ฐ๋ง ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: updated_at ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: .log().all() ์‚ญ์ œ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: switch๋ฌธ if๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋ณต๋ถ™ ๋ฌธ์ œ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* style: ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* rename: BusInfoCache -> BusCache ์ด๋ฆ„ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* style: ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: .log().all() ์‚ญ์ œ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

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

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์ƒ์ˆ˜, ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ํŒŒ์ผ ์ด๋ฆ„ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: Bus.java ์‚ญ์ œ์™€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - Redis ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - OpenApi ํ…Œ์ŠคํŠธ ์ค‘๊ฐ„ ์ž‘์„ฑ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* feat: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - OpenApi ํ…Œ์ŠคํŠธ ์ถ”

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์บ์‹œ ๋งŒ๋ฃŒ ์‹œ๊ฐ„ ๋ถ„๋ฆฌ

* Revert "refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€"

This reverts commit 5dcbf975cccbbd276dfa5e8dbbb52864eca6c209.

* Revert "Revert "refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€""

This reverts commit f321b7eb60f0d5426a1fef4d839c4861a08198a2.

* refactor: Constant ํด๋ž˜์Šค ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๋ฒ„์Šค ๋ฒˆํ˜ธ ํ•„ํ„ฐ๋ง ์ถ”๊ฐ€

- 400, 402, 405

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

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

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์ค‘๊ด„ํ˜ธ ์ œ๊ฑฐ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* test: OPEN_API_KEY ์ถ”๊ฐ€

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

* refactor: ๋””๋ฒ„๊ทธ ์ฝ”๋“œ ์‚ญ์ œ

---------

Co-authored-by: songsunkook <songsunkook@gmail.com>
Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feature: ์ƒ์  ์‚ฌ์žฅ๋‹˜ ๊ด€๋ จ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ / ์ผ๋ฐ˜์œ ์ € ๋ชจ๋“  ์ƒ์  ์กฐํšŒ api์ž‘์„ฑ (#270)

* feat: delete Api ๊ตฌํ˜„

* feat: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฉ”๋‰ด์ƒ์„ฑ์š”์ฒญ dto์ž‘์„ฑ

* feat: ์ƒ์  ์‚ฌ์žฅ๋‹˜ ์ถ”๊ฐ€, ์ˆ˜์ • / ์ผ๋ฐ˜ ์œ ์ € ๋ชจ๋“ ์ƒ์ ์กฐํšŒ api ์ž‘์„ฑ

* feat: ๋ผ์ธ ํฌ๋งทํŒ…

* feat: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๋กœ๊ทธ ์ œ๊ฑฐ

* feat: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ 1์ฐจ

* chore: ๋””๋ฒ„๊น…์šฉ ์ถœ๋ ฅ ์ œ๊ฑฐ

* chore: ๋ฆฌ๋ทฐ๋ฐ˜์˜ 2

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* feat: spring actuator ์ถ”๊ฐ€ (#276)

Co-authored-by: Jang Jun Young <police0022@naver.com>

* fix: ์ƒ์  ์ƒ์„ฑ ์„œ๋ฒ„์—๋Ÿฌ(@Valid ์ถ”๊ฐ€) (#281)

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* refactor: ์กฐํšŒ ๋ฐฉ์‹ ์ˆ˜์ • (#284)

* feat: ์ƒ์  ๋ชจ๋“  ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ api์ž‘์„ฑ (#282)

* feat: delete Api ๊ตฌํ˜„

* feat: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋ฉ”๋‰ด์ƒ์„ฑ์š”์ฒญ dto์ž‘์„ฑ

* feat: ์ƒ์  ์‚ฌ์žฅ๋‹˜ ์ถ”๊ฐ€, ์ˆ˜์ • / ์ผ๋ฐ˜ ์œ ์ € ๋ชจ๋“ ์ƒ์ ์กฐํšŒ api ์ž‘์„ฑ

* feat: ๋ผ์ธ ํฌ๋งทํŒ…

* feat: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๋กœ๊ทธ ์ œ๊ฑฐ

* feat: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ 1์ฐจ

* chore: ๋””๋ฒ„๊น…์šฉ ์ถœ๋ ฅ ์ œ๊ฑฐ

* chore: ๋ฆฌ๋ทฐ๋ฐ˜์˜ 2

* feat: ๋ชจ๋“  ์ƒ์  ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ api์ž‘์„ฑ

* chore: ์ถฉ๋Œํ•ด๊ฒฐ

* chore: ์ถฉ๋Œํ•ด๊ฒฐ

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* ๏ฟฝfix: student Entity ํ•„๋“œ ์ˆ˜์ • (#286)

* refactor: #283 ์ž‘์—… revert

* refactor: UserIdentity Ordinal๋กœ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํƒˆํ‡ด์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ˆ˜์ • (#288)

* refactor: ์ด๋ฉ”์ผ ์ธ์ฆ ์š”์ฒญ dto ๊ฐ’ ์ˆ˜์ • (#290)

* refactor: dto ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์ž ์„ฑ๋ณ„ ๋ฐ˜ํ™˜๊ฐ’ ordinal๋กœ ์ˆ˜์ •

* feat: lecture blank error (#293)

* fix: ๊ณต๋ฐฑ ๋ฌธ์ž ์ฒ˜๋ฆฌ

* chore: log ์ œ๊ฑฐ

* style: ์ฝ”๋“œ ํšจ์œจ์ ์œผ๋กœ ์ „ํ™˜

* fix: timetables ๋ฐ˜ํ™˜๊ฐ’ ์ˆ˜์ • (#294)

* refactor: ๋ฐ˜ํ™˜๊ฐ’ ํ˜•ํƒœ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ๊ฐ’ ์ˆ˜์ •

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

* refactor: trim -> strip ์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋กœ๊ทธ ์ œ๊ฑฐ

* fix/291 get lecture blank error reopen (#296)

* fix: ๊ณต๋ฐฑ ๋ฌธ์ž ์ฒ˜๋ฆฌ

* chore: log ์ œ๊ฑฐ

* style: ์ฝ”๋“œ ํšจ์œจ์ ์œผ๋กœ ์ „ํ™˜

* fix: ์™„์ „ ๋น„์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ ์ฒ˜๋ฆฌ

* chore: ์šฐ์„  ๋ณต๊ตฌ

* feat: ๊ฐ€๊ฒŒ ์ด๋ฒคํŠธ ์ •๋ณด ์กฐํšŒ (#298)

* feat: stage logback ์ ์šฉ (#300)

* feat: ๋กœ๊น… ์ถ”๊ฐ€

* feat: dev profile์—๋งŒ ์ถ”๊ฐ€๋˜๋„๋ก ๊ตฌ์„ฑ

* feat: slack ์•Œ๋ฆผ๋ฐœ์†ก ๋กœ์ง ์ถ”๊ฐ€

* refactor: ํ…Œ์ŠคํŠธ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: slack ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ˆ˜์ • (#306)

* feat: slack ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* feat: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

* feat: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜2

---------

Co-authored-by: Jang Jun Young <police0022@naver.com>

* fix : userGender null ๊ฐ’ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€ (#304)

* feat: get member (#311)

* feat: Get /members ๊ตฌํ˜„

* feat: ์‚ฌ์šฉ์ž ๋‹จ๊ฑด์กฐํšŒ ๊ตฌํ˜„

* test: ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ

* fix: ์—†๋Š” ์ƒ์  ์กฐํšŒ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ (#313)

* fix: ์—†๋Š” ์ƒ์  ์กฐํšŒ์‹œ ์˜ˆ์™ธ ๋˜์ง€๊ธฐ

* chore: ๊ฐœํ–‰ ์‚ญ์ œ

* chore: ๋ผ์ธํฌ๋งทํŒ…

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* fix: ์—ฐ๊ด€๊ด€๊ณ„ ์ˆ˜์ • (#315)

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* fix: ์ƒ์  ์‚ฌ์žฅ๋‹˜ ํšŒ์›๊ฐ€์ž… ์—๋Ÿฌ ์ˆ˜์ • (#316)

* fix: ์—ฐ๊ด€๊ด€๊ณ„ ์ˆ˜์ •

* fix: ์—ฐ๊ด€๊ด€๊ณ„ ์ˆ˜์ •

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* Fix: bearerToken ์ถ”์ถœ ์˜ค๋ฅ˜ ์ˆ˜์ • (#309)

* refactor: ๊ฐ•์˜์‹œ๊ฐ„ ๋ฌธ์ž์—ด ๋ถ„๋ฆฌ ์ˆ˜์ •

* refactor: BEARER_TYPE ์ˆ˜์ •

* refactor: ์ˆ˜์ •

* feat: is_event๊ฐ’ ์ถ”๊ฐ€ (#302)

* test: add JsonAssertions

* feat: isEvent ๊ฐ’ ์ถ”๊ฐ€

* test: ์ธ์ž ๋ณ€์ˆ˜๋กœ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ์‹œ์™ธ๋ฒ„์Šค API ๊ตฌํ˜„ (#317)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: mongoDB ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ๋ฏธ์šดํ–‰์ธ ๋ฒ„์Šค ํ•„ํ„ฐ๋ง

* feat: enum ์ถ”๊ฐ€

* feat: ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ž‘์„ฑ

* feat: ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฒ„์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์‘๋‹ต ๊ตฌํ˜„

* feat: ๋ฏธ์šดํ–‰ ์š”์ผ ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ฒ„์Šค ์ •๊ฑฐ์žฅ ๊ฒ€์ฆ๋กœ์ง ์ ์šฉ ๋ฐ ์ค‘๋ณต๋˜๋Š” ์‹œ๊ฐ„ ์ œ์™ธ

* refactor: enum ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋“ฑํ•˜๊ต ๋ฐฉํ–ฅ ๊ธฐ์ค€ ํƒ์ƒ‰์—์„œ ์ •๋ฅ˜์žฅ ํƒ์ƒ‰์œผ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

BusCourse.isRunning()

* refactor: ํ…Œ์ŠคํŠธ mocking ์œ„ํ•ด Clock ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ปจํ…Œ์ด๋„ˆ mongoDB ์ถ”๊ฐ€

* test: ์…”ํ‹€ ๋ฒ„์Šค ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ์‹œ๋‚ด๋ฒ„์Šค Open API ํ˜ธ์ถœ ๋กœ์ง ์ž‘์„ฑ

* feat: ๋ฐฉํ–ฅ ํŒ๋‹จ ๋กœ์ง ์ถ”๊ฐ€

* fix: ํ˜ธ์ถœ ์˜ˆ์™ธ ์ˆ˜์ •

* feat: json ํŒŒ์‹ฑ ๋กœ์ง ์ž‘์„ฑ

1. json ํŒŒ์‹ฑ ๋กœ์ง ์ž‘์„ฑ
2. ๊ฒฐ๊ณผ ์ฝ”๋“œ ๊ฒ€์ฆ
3. ์˜ˆ์™ธ ์ถ”๊ฐ€ (500 ๋ฐ˜ํ™˜)

* feat: API ๊ณจ๊ฒฉ ์ž‘์„ฑ

* feat: mongoDB ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์‘๋‹ต ๊ฐ์ฒด ์ž‘์„ฑ

* feat: ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ๋ฏธ์šดํ–‰์ธ ๋ฒ„์Šค ํ•„ํ„ฐ๋ง

* feat: enum ์ถ”๊ฐ€

* feat: ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ž‘์„ฑ

* feat: ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฒ„์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์‘๋‹ต ๊ตฌํ˜„

* feat: ๋ฏธ์šดํ–‰ ์š”์ผ ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ฒ„์Šค ์ •๊ฑฐ์žฅ ๊ฒ€์ฆ๋กœ์ง ์ ์šฉ ๋ฐ ์ค‘๋ณต๋˜๋Š” ์‹œ๊ฐ„ ์ œ์™ธ

* refactor: enum ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ๋“ฑํ•˜๊ต ๋ฐฉํ–ฅ ๊ธฐ์ค€ ํƒ์ƒ‰์—์„œ ์ •๋ฅ˜์žฅ ํƒ์ƒ‰์œผ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

* remove: ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

BusCourse.isRunning()

* refactor: ํ…Œ์ŠคํŠธ mocking ์œ„ํ•ด Clock ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ปจํ…Œ์ด๋„ˆ mongoDB ์ถ”๊ฐ€

* test: ์…”ํ‹€ ๋ฒ„์Šค ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* docs: API ๋ฌธ์„œ์— ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด ๋ช…์‹œ

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋ˆ„๋ฝ๋œ Transactional ์ถ”๊ฐ€

* fix: mocking ๋ณ€์ˆ˜ ์„ ์–ธ๋ถ€ ์ด๋™

* remove: ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๋„์ฐฉ ์‹œ๊ฐ ํŒจํ„ด ๋ถˆ์ผ์น˜ ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: ๋ฐ˜๋ณต๋ฌธ์„ stream์œผ๋กœ ๋ณ€ํ™˜

* refactor: ์—”ํ‹ฐํ‹ฐ ํ•„๋“œ๋กœ List ์‚ฌ์šฉ ์‹œ ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”

* refactor: String ๋น„๊ต ์‹œ NPE ์˜ˆ๋ฐฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋งคํ•‘ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ

* rename: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: Builder ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •

* refactor: enum ํ•„๋“œ ๊ฐ„์†Œํ™”

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* feat: ๋ฒ„์Šค๋ฒˆํ˜ธ ํ•„ํ„ฐ๋ง

* feat: ์‹œ๋‚ด๋ฒ„์Šค ์กฐํšŒ ์ •๋ณด๋ฅผ ๋ ˆ๋””์Šค ์บ์‹œ๋กœ ์ €์žฅ

* feat: ๋ฒ„์ „ ์ตœ์‹ ํ™” ๋ฉ”์„œ๋“œ ์ž‘์„ฑ

* refactor: Pair๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* feat: ApiType ์ถ”๊ฐ€

- BusType๊ณผ BusOpenApiRequester ํƒ€์ž… ๋งตํ•‘์„ ์œ„ํ•จ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: record๋กœ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ์บ์‹œ ์ €์žฅ ์ •๋ณด ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: ์‹œ๋‚ด๋ฒ„์Šค ๋ฒ„์Šค ๋ฒˆํ˜ธ ๋ฐ˜ํ™˜ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: ๋ฒ„์Šค ํƒ€์ž…๋ณ„ ๋กœ์ง ๋ถ„๊ธฐ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์บ์‹ฑ ์ •๋ณด ์ถ”๊ฐ€

- ๋‚จ์€ ์‹œ๊ฐ„๋งŒ ์บ์‹ฑ -> ๋ฒ„์Šค ๋„์ฐฉ ์ •๋ณด ํ†ต์งธ๋กœ ์บ์‹ฑ
- api url ์ˆ˜์ •
- ๋ฒ„์ „ ์ •๋ณด ์ €์žฅ
- forEach -> for

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ถ”๊ฐ€

- ๋ฒ„์Šค ์บ์‹ฑ ์ •๋ณด ์ˆ˜์ •
- ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‘๋‹ต ๊ฐ์ฒด ์ˆ˜์ •

- ๊ธฐ์กด: "now_bus": {"bus_number": null, ...}
- ์ˆ˜์ •: "now_bus": null

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‘๋‹ต ๊ฐ์ฒด null ์ฒดํฌ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* feat: test ์ž‘์„ฑ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋นˆ ๋ฐฐ์—ด ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋„์ฐฉ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์‹œ๊ฐ„ ์ฐจ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: null ํ•„ํ„ฐ๋ง ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: updated_at ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: .log().all() ์‚ญ์ œ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: switch๋ฌธ if๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ๋ณต๋ถ™ ๋ฌธ์ œ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* style: ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* rename: BusInfoCache -> BusCache ์ด๋ฆ„ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: ์ฃผ์„ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* style: ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: .log().all() ์‚ญ์ œ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

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

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์ƒ์ˆ˜, ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ํŒŒ์ผ ์ด๋ฆ„ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: Bus.java ์‚ญ์ œ์™€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - Redis ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - OpenApi ํ…Œ์ŠคํŠธ ์ค‘๊ฐ„ ์ž‘์„ฑ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* feat: ์‹œ๋‚ด๋ฒ„์Šค ๋‚จ์€ ์‹œ๊ฐ„ - OpenApi ํ…Œ์ŠคํŠธ ์ถ”

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์‹œ๋‚ด๋ฒ„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์บ์‹œ ๋งŒ๋ฃŒ ์‹œ๊ฐ„ ๋ถ„๋ฆฌ

* Revert "refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€"

This reverts commit 5dcbf975cccbbd276dfa5e8dbbb52864eca6c209.

* Revert "Revert "refactor: Constant ํด๋ž˜์Šค enum์œผ๋กœ ๋ณ€""

This reverts commit f321b7eb60f0d5426a1fef4d839c4861a08198a2.

* refactor: Constant ํด๋ž˜์Šค ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๋ฒ„์Šค ๋ฒˆํ˜ธ ํ•„ํ„ฐ๋ง ์ถ”๊ฐ€

- 400, 402, 405

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

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

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ์ค‘๊ด„ํ˜ธ ์ œ๊ฑฐ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* test: OPEN_API_KEY ์ถ”๊ฐ€

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

* feat : ์ธ์ˆ˜์ธ๊ณ„์šฉ ์ปค๋ฐ‹

* feat: ์‹œ์™ธ๋ฒ„์Šค๊ธฐ๋Šฅ๊ตฌํ˜„

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>, Choon0414 <hyunn815@naver.com>

* feat: ์‹œ์™ธ๋ฒ„์Šค ๋ฆฌํŒฉํ„ฐ๋ง

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>, Choon0414 <hyunn815@naver.com>

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>, Choon0414 <hyunn815@naver.com>

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>, Choon0414 <hyunn815@naver.com>

* test: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>, Choon0414 <hyunn815@naver.com>

* test: ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์†Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ttl ์„ ์–ธ๋ฐฉ์‹ ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ ์ถ”์ƒํ™” ์ œ๊ฑฐ

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •

* style: ๊ณต๋ฐฑ์ œ๊ฑฐ

* style: ์ฝ”๋“œ ํฌ๋งทํŒ…

* style: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์†Œ๋“œ ์ œ๊ฑฐ

* style: ๋ฏธ์‚ฌ์šฉ ํด๋ž˜์Šค ์ œ๊ฑฐ

* refactor: API ์‚ฌ์šฉ ์ˆ˜์ •

* refactor: ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

---------

Co-authored-by: songsunkook <songsunkook@gmail.com>
Co-authored-by: ๋ฐ•์„ฑ๋นˆ <psb106305@gmail.com>
Co-authored-by: dradnats1012 <herjebi1012@gmail.com>
Co-authored-by: Choon0414 <hyunn815@naver.com>

* fix: ์‚ฌ์žฅ๋‹˜ ๊ฐ€๊ฒŒ์ •๋ณด ์ˆ˜์ • ์˜ค๋ฅ˜ (#319)

* refactor: cascade ์˜ต์…˜ ์ˆ˜์ •

* refactor: flush ์ถ”๊ฐ€

* fix: menu ์ •๋ณด ์ˆ˜์ • ์‹œ์—๋„ flush ์ถ”๊ฐ€ (#320)

* refactor: cascade ์˜ต์…˜ ์ˆ˜์ •

* refactor: flush ์ถ”๊ฐ€

* refactor: flush ์ถ”๊ฐ€

* refactor: ์‹๋‹จ ํ’ˆ์ ˆ, ๋ณ€๊ฒฝ ์—ฌ๋ถ€ (Boolean -> ์‹œ๊ฐ„)์œผ๋กœ ๋ณ€๊ฒฝ (#310)

* refactor: flyway ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: Boolean์—์„œ LocalDateTime์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* test: Boolean์—์„œ LocalDateTime์œผ๋กœ ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* test: DisplayName ์ˆ˜์ •

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: ํ’ˆ์ ˆ ์ทจ์†Œ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* refactor: DTO NotNull Valid ์ถ”๊ฐ€

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

---------

Co-authored-by: dradnats1012 <herjebi1012@gmail.com>

* feat: ์œ ์ € ๊ถŒํ•œ ์กฐํšŒ API ์ž‘์„ฑ (#322)

* feat: ์œ ์ € ๊ถŒํ•œ ์กฐํšŒ API ์ž‘์„ฑ

* test: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์‹๋‹จ ์กฐํšŒ API DTO ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#324)

* fix: @param์ถ”๊ฐ€ (#327)

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* feat: ํ•™์ƒ ํšŒ์›๊ฐ€์ž… (#271)

* feat: ์—์™ธ ์ถ”๊ฐ€

* feat: ์ด๋ฉ”์ผ ํผ ์ถ”๊ฐ€

* feat: ๊ณจ๊ฒฉ ์ถ”๊ฐ€

* feat: ์„œ๋น„์Šค ๋กœ์ง ๊ตฌํ˜„

* feat: ์ธ์ฆ ์™„๋ฃŒ ํผ

* feat: ํšŒ์› ๋“ฑ๋ก ํผ ํƒ€์ž„๋ฆฌํ”„ ์„ค์ •

* feat: ์ด๋ฉ”์ผ ์ธ์ฆ ์‹คํŒจ ํผ

* feat: Controller ์ถ”๊ฐ€

* feat: ์ธ์ฆ ์™„๋ฃŒ์‹œ isAuthed true ๋ณ€๊ฒฝ

* feat: ํ•™๋ฒˆ ํ•™๋ถ€ ์ธ์ฆ ๋ฐ UserIdentity->ordinal๋กœ ๋ณ€๊ฒฝ

* feat: ํ•™์ƒ ํšŒ์›๊ฐ€์ž… dto

* feat: Service ๊ตฌํ˜„

* feat: ํ† ํฐ์œผ๋กœ ๋ถ€ํ„ฐ ์ฐพ๋Š” ๋ฉ”์„œ๋“œ Repository์— ์ถ”๊ฐ€

* feat: authToken ์•”ํ˜ธํ™” Util

* feat: koreatehc.ac.kr ๋„๋ฉ”์ธ ๊ฒ€์ฆ

* feat: ํ•™๋ฒˆ๊ณผ ํ•™๋ถ€ ๊ฒ€์ฆ

* feat: ์Šฌ๋ž™ ์•Œ๋ฆผ

* feat: ํ•™์ƒ ์ด๋ฉ”์ผ ์š”์ฒญ, ๊ฐ€์ž… ์ด๋ฒคํŠธ

* feat: ํ† ํฐ ์œ ํšจ๊ธฐ๊ฐ„ ์„ค์ • DateUtil

* feat: ์ž˜๋ชป๋œ ํ•™๋ฒˆ ํ˜•์‹ ์˜ˆ์™ธ

* feat: ์ด๋ฉ”์ผ ์ธ์ฆ ๊ฒ€์ฆ dto

* feat: ํšŒ์›๊ฐ€์ž… ์ด๋ฉ”์ผ ์ธ์ฆ ํผ ๋ฐ์ดํ„ฐ

* refactor: contorller ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ์ปจ๋ฒค์…˜ ๋งž๊ฒŒ ์ˆ˜์ •

* refactor: log().all() ์ œ๊ฑฐ

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* refactor: authToken passwordEncoder๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”

* refactor: ํ•™๋ฒˆ ๊ฒ€์ฆ ์ˆ˜์ •

* refactor: ํ•™๋ฒˆ ๊ฒ€์ฆ ์ˆ˜์ •

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

* refactor: ํ•„๋“œ controller->service ์ด๋™

* refactor: ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ 400์œผ๋กœ ๋ฐ˜ํ™˜

* refactor: ๋ผ์ธํฌ๋งทํŒ…

* refactor: ๋ผ์ธํฌ๋งทํŒ…

* feat: ์—๋Ÿฌ์ฝ”๋“œ๋ฐ˜ํ™˜์ˆ˜์ • ๋ฐ ํ•™๋ฒˆ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* refactor: ํผ ๋ฐ˜ํ™˜ ๋กœ์ง ์ˆ˜์ •

* refactor: ๋ผ์ธํฌ๋งทํŒ…

* refactor: ๋‚ ์งœ ๊ด€๋ จ ๋กœ์ง ์ˆ˜์ •

* refactor: ํ˜ธ์ŠคํŠธ์ฃผ์†Œ ์ถ”์ถœ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ํ•™๋ถ€,ํ•™๋ฒˆ ๊ฒ€์ฆ ๋กœ์ง ๋ณ€๊ฒฝ

* refactor: ๋น„๋ฐ€๋ฒˆํ˜ธ example ์ค‘๋ณต ์ œ๊ฑฐ

* refactor: ํผ ๋ฐ˜ํ™˜ service ๋กœ์ง ์ˆ˜์ •

* refactor: ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋จธ์ง€ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* refactor: ์ตœ์‹  ์ „๊ณต ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* refactor: InvalidDataException -> IllegalException ๋ณ€๊ฒฝ

* refactor: ๊ฐœํ–‰ ์ˆ˜์ •

* refactor: camelCase๋กœ ์ˆ˜์ •

* refactor: ํ…Œ์ŠคํŠธ๋ช… ์ˆ˜์ •

* refactor: expiredAt clock์ธ์ž ๋ฐ›๊ฒŒ ์ˆ˜์ •

* refactor: authToken UUID๋กœ ์ˆ˜์ •

* refactor: LocalTimeStringConverter ์ด๋ฆ„์„ LocalTimeToHHmmStringConverter๋กœ ๋ณ€๊ฒฝ

* refactor: User๊ฐ์ฒด ๋‚ ์งœ ๊ด€๋ จ ์†์„ฑLocalTimeToHHmmStringConverter ์ด์šฉ

* refactor: ํ•™๋ฒˆ ๊ฒ€์ฆ ์ˆ˜์ •

* refactor: host์–ด๋…ธํ…Œ์ด์…˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: LocalDate๊ด€๋ จ ์ˆ˜์ •

* refactor: ๋ผ์ธํฌ๋งทํŒ…

* refactor: LocalDate๊ด€๋ จ ํด๋ž˜์Šค์ด๋ฆ„ ์ˆ˜์ •

* refactor: URL์–ป์–ด์˜ค๋Š” ์ฝ”๋“œ ์ˆ˜์ •

* refactor: AuthResult orElse -> orElseGet

* refactor: LocalTimeAttributeConverter ์›๋ž˜๋Œ€๋กœ ์ˆ˜์ •

* refactor: ๋ผ์ธํฌ๋งทํŒ…

* refactor: orElseGet ์ˆ˜์ •

* feat: ์‹ ๊ทœ์ƒ์  ์ƒ์„ฑ์‹œ ๊ธฐ๋ณธ ์นดํ…Œ๊ณ ๋ฆฌ ์ถ”๊ฐ€ (#331)

* fix: @param์ถ”๊ฐ€

* feat: ์‹ ๊ทœ ์ƒ์  ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ๋ฉ”๋‰ด ์นดํ…Œ๊ณ ๋ฆฌ ์ถ”๊ฐ€

* chore: ๋ผ์ธํฌ๋งทํŒ…

---------

Co-authored-by: HyeonsuLee <leehyeonsu4888@naver.com>

* fix: AttributeConverter ์˜ค๋ฅ˜ ์ˆ˜์ • (#335)

* feat: FCM ๋ฐœ์†ก๋ฐฉ์‹ ์ˆ˜์ • (#333)

* docs: github workflow ์„ค์ • ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ๋ฐœ์†กํ˜•ํƒœ ์ˆ˜์ •

* refactor: ์ปฌ๋Ÿผ๋ช… ์ˆ˜์ •

* feat: isEvent ์ถ”๊ฐ€ (#337)

* fix: shopId null์ผ๋•Œ ์ฒ˜๋ฆฌํ•˜๊ธฐ (#341)

* feat: ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ๋กœ์ง ๊ตฌํ˜„ (#342)

* feat : ์ˆ˜์ •์„ ์œ„ํ•œ 1์ฐจ ์ปค๋ฐ‹

* feat : mailForm ์ƒ์„ฑ ๋ฐ DTO, mail html ์ถ”๊ฐ€

* feat: controller ์ž‘์„ฑ

* feat: webConfig ์ถ”๊ฐ€

* feat: resetToken์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์ด๋ฉ”์ผ ์ „์†ก

* feat: ๋ฒ„ํŠผ ๋ˆ„๋ฅผ ๋•Œ ๊ธฐ๋Šฅ

* chore : ๊ถŒํ•œ static import

* chore : LocalDateTime ํ˜•์‹์œผ๋กœ ์ˆ˜์ • ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* feat: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™” ๊ตฌํ˜„

* docs: hidden ์ถ”๊ฐ€

* style: ๊ฐœํ–‰์ œ๊ฑฐ

---------

Co-authored-by: duehee <149302959+duehee@users.noreply.github.com>
Co-authored-by: daheeParkk <qkrekgml7414@naver.com>

* fix : JsonProperty ์‚ญ์ œ (#345)

* fix : Mixed Content ํ—ค๋” ์ถ”๊ฐ€ (#347)

* fix: attributeConverter milli second ๊ธธ์ด๊ฐ€ ๋‘๊ฐœ์ธ ๊ฒฝ์šฐ๋„ ๋ฐ˜์˜ (#348)

* fix: mili second ๊ธธ์ด๊ฐ€ ๋‘๊ฐœ์ธ ๊ฒฝ์šฐ๋„ ๋ฐ˜์˜

* fix: authExpiredAt ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

* chore: datetimeformatter ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* Fix: attribute converter ์˜ค๋ฅ˜ ์ˆ˜์ • (#349)

* refactor: ํšŒ์›๊ฐ€์ž… ์ธ์ฆ ํ† ํฐ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„ ์ˆ˜์ •

* fix: AttributeConverter ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix : ์‚ญ์ œ๋œ userGender null ๋กœ์ง ์ถ”๊ฐ€ (#357)

* feat: ์ด๋ฒคํŠธ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ, ๋ฒ ๋„ˆ์กฐํšŒ api ์ž‘์„ฑ (#350)

* fix: @param์ถ”๊ฐ€

* feat: ์‹ ๊ทœ ์ƒ์  ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ๋ฉ”๋‰ด ์นดํ…Œ๊ณ ๋ฆฌ ์ถ”๊ฐ€

* choreโ€ฆ
Choi-JJunho added a commit that referenced this pull request May 9, 2024
Choi-JJunho added a commit that referenced this pull request May 9, 2024
Choi-JJunho added a commit that referenced this pull request May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
๋ฒ„๊ทธ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ClientAbortException์„ ํ•ธ๋“ค๋งํ•œ๋‹ค.
3 participants