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

chore: change version name #291

Merged
merged 1 commit into from
Aug 9, 2024
Merged

Conversation

chaehyuns
Copy link
Contributor

๐Ÿ“Œ ๊ด€๋ จ ์ด์Šˆ

close #290

โœจ ์ž‘์—… ๋‚ด์šฉ

๐Ÿ“š ๊ธฐํƒ€

@chaehyuns chaehyuns self-assigned this Aug 9, 2024
@chaehyuns chaehyuns merged commit a989387 into develop-AN Aug 9, 2024
2 checks passed
@chaehyuns chaehyuns deleted the feature/290-change-version branch August 9, 2024 08:49
chaehyuns added a commit that referenced this pull request Aug 9, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Aug 22, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Member Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Offering Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: OfferingMember Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Comment Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

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

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Aug 22, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



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



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



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------




* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------



* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ



* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •



* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„



* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ



* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ



* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ



* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------



* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •



* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ



* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------



* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)



* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------




* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------



* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------




* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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




* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ




* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ




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




* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€




* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ




---------





* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------



* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Aug 22, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



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



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



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------




* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------



* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ



* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •



* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„



* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ



* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ



* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ



* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------



* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •



* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ



* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------



* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)



* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------




* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------



* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------




* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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




* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ




* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ




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




* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€




* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ




---------





* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------



* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: fromitive <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Sep 11, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* v1.1.0 (#448)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Member Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Offering Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: OfferingMember Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Comment Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (โ€ฆ
ChooSeoyeon added a commit that referenced this pull request Sep 11, 2024
* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Member Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Offering Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: OfferingMember Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Comment Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

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

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

* v1.1.0 (#448)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Member Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Offering Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: OfferingMember Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Comment Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌโ€ฆ
ChooSeoyeon added a commit that referenced this pull request Sep 30, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#415)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ•

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* feat: ๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* feat: release๋กœ ์‹œ์ž‘ํ•˜๋Š” branch์—์„œ๋งŒ CD ์ž‘์—…

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>

* feat: ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ ๊ฐ์ง€ ๊ธฐ๋Šฅ ์ˆ˜์ • (#463)

* feat: ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๊ธฐ๋Šฅ ๋ณต์› (#465)

* fix: ๊ณต๋ชจ ์ œ๋ชฉ ๋ฐ ๊ฐ€๊ฒฉ ์ค„๋ฐ”๊ฟˆ, ๋ง์ค„์ž„ ๋˜๋„๋ก ์ˆ˜์ • (#466)

* refactor: ํ™ˆ ํ™”๋ฉด UX๊ฐœ์„  (#473)

* refactor: ํ•„ํ„ฐ ํ…์ŠคํŠธ ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์„ ์‹œ ํ…์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋„๋ก ์ˆ˜์ •

* refactor: ๊ฒ€์ƒ‰์ฐฝ์— ์ง€์šฐ๊ธฐ ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ

- ํด๋ฆญ ์‹œ ๊ฒ€์ƒ‰ ํ…์ŠคํŠธ ์ง€์›Œ์ง + ์ „์ฒด ๊ณต๋ชจ ๋ณด์—ฌ์ง€๋Š” ์ดˆ๊ธฐํ™”๋ฉด๋ณด์—ฌ์ฃผ๋„๋ก

* build: SwipeRefreshLayout์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ•˜๋‹จ์œผ๋กœ ์Šค์™€์ดํ”„ ์‹œ ์ƒˆ๋กœ๊ณ ์นจ ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ฒ€์ƒ‰์ฐฝ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ… UX ๊ฐœ์„  (#479)

* feat: ๋‚˜์˜ ์ฑ„ํŒ… ๊ธ€์ž ํฌ๊ธฐ ์กฐ์ •

* feat: ์ฑ„ํŒ… ์ „์†ก ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‹œ๊ฐ€ ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#480)

* fix: Access Token Refresh๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์ดํ›„ ๋กœ์ง ์ฒ˜๋ฆฌ

* style: ktFormat ์ ์šฉ

* refactor: ํ•„์š” ์—†์–ด์ง„ ์ฝ”๋“œ ์ œ๊ฑฐ

* chore: ํ•„์š” ์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด์ „ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •, Calendar ๋ฐฉ์‹์œผ๋กœ DatePicker๋ฅผ ๋ณ€๊ฒฝ (#481)

* feat: Date Picker๋ฅผ ๋‹ฌ๋ ฅ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ

* feat: ํ˜„์žฌ๋ณด๋‹ค ์ด์ „ ๋‚ ์งœ๋Š” ์„ ํƒํ•  ์ˆ˜ ์—†๋„๋ก ์ œํ•œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆํ™”๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#491)

* feat: local ๊ณผ remote mapper ๋ถ„๋ฆฌ

* fix: ์ž˜๋ชป import๋œ ์ฝ”๋“œ ์ˆ˜์ •

* feat: local ๋ฐ remote ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* fix: ์ž˜๋ชป๋œ import์ฝ”๋“œ ์ˆ˜์ •

* feat: common ํŒจํ‚ค์ง€ ์ƒ์„ฑ ๋ฐ ๋ณ€๊ฒฝ

* feat: auth ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint ์ ์šฉ

* feat: remote ์™€ local ํŒจํ‚ค์ง€ data๋กœ ์ด๋™

* style: ktlint ์ ์šฉ

* feat: error handler ๊ด€๋ จ ๋กœ์ง common์œผ๋กœ ์ด๋™

* refactor: ์ž˜๋ชป๋œ ์˜์กด์„ฑ ๊ด€๊ณ„ ๋ณ€๊ฒฝ

* feat: DataStore์„ common ํŒจํ‚ค์ง€๋กœ ๋ณ€๊ฒฝ

* feat: build.gradle ์ค‘๋ณต ๋กœ์ง ์ˆ˜์ • ๋ฐ version catalog๋ฅผ ํ†ตํ•œ ๊ด€๋ฆฌ

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

---------

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

* refactor: ์˜์กด์„ฑ ์ฃผ์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Hilt) ์ ์šฉ (#500)

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

* feat: Auth, CommentRooms Hilt ์ ์šฉ

* feat: Data Store Hilt ์ ์šฉ

* style: ktFormat ์ ์šฉ

* feat: OfferingWrite Hilt ์ ์šฉ

* feat: CommentDetail Hilt ์ ์šฉ

* feat: Participant Hilt ์ ์šฉ

* feat: Assisted Inject ๊ตฌํ˜„

* feat: OfferingDetail Hilt ์ ์šฉ

* feat: ktFormat ์ ์šฉ

* chore: gradle์—์„œ hilt ๋ฒ„์ „ ์ˆ˜์ •

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

* chore: ์ค‘๋ณต๋œ ์˜์กด์„ฑ ์ œ๊ฑฐ ๋ฐ ์ •๋ฆฌ

* feat: (๋น ํŠธ๋ฆฐ๊ฒƒ) MyPageViewModel์— Hilt ์ ์šฉ

* feat: (๋น ํŠธ๋ฆฐ๊ฒƒ) OfferingDao์—๋„ Hilt ์ ์šฉ

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ์ œ๊ณต ํ•จ์ˆ˜๋“ค ์ œ๊ฑฐ

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฒ„์ „ v1.1.2๋กœ ๋ณ€๊ฒฝ (#512)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Oct 11, 2024
* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* v1.1.0 (#448)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Member Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Offering Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: OfferingMember Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

* feat: Comment Entity ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (โ€ฆ
ChooSeoyeon pushed a commit that referenced this pull request Oct 11, 2024
ChooSeoyeon added a commit that referenced this pull request Oct 11, 2024
* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๊ธฐ์ดˆ ์„ธํŒ… (#2)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#415)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ•

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* feat: ํ…Œ์ŠคํŠธ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* feat: ๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋น„๊ณต๊ฐœํ…Œ์ŠคํŠธ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฒ„์ „ ๋ณ€๊ฒฝ

* feat: release๋กœ ์‹œ์ž‘ํ•˜๋Š” branch์—์„œ๋งŒ CD ์ž‘์—…

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: ์ฑ„ํ˜„ <[email protected]>

* feat: ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ ๊ฐ์ง€ ๊ธฐ๋Šฅ ์ˆ˜์ • (#463)

* feat: ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๊ธฐ๋Šฅ ๋ณต์› (#465)

* fix: ๊ณต๋ชจ ์ œ๋ชฉ ๋ฐ ๊ฐ€๊ฒฉ ์ค„๋ฐ”๊ฟˆ, ๋ง์ค„์ž„ ๋˜๋„๋ก ์ˆ˜์ • (#466)

* refactor: ํ™ˆ ํ™”๋ฉด UX๊ฐœ์„  (#473)

* refactor: ํ•„ํ„ฐ ํ…์ŠคํŠธ ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์„ ์‹œ ํ…์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋„๋ก ์ˆ˜์ •

* refactor: ๊ฒ€์ƒ‰์ฐฝ์— ์ง€์šฐ๊ธฐ ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ

- ํด๋ฆญ ์‹œ ๊ฒ€์ƒ‰ ํ…์ŠคํŠธ ์ง€์›Œ์ง + ์ „์ฒด ๊ณต๋ชจ ๋ณด์—ฌ์ง€๋Š” ์ดˆ๊ธฐํ™”๋ฉด๋ณด์—ฌ์ฃผ๋„๋ก

* build: SwipeRefreshLayout์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ•˜๋‹จ์œผ๋กœ ์Šค์™€์ดํ”„ ์‹œ ์ƒˆ๋กœ๊ณ ์นจ ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ฒ€์ƒ‰์ฐฝ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ… UX ๊ฐœ์„  (#479)

* feat: ๋‚˜์˜ ์ฑ„ํŒ… ๊ธ€์ž ํฌ๊ธฐ ์กฐ์ •

* feat: ์ฑ„ํŒ… ์ „์†ก ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* feat: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‹œ๊ฐ€ ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#480)

* fix: Access Token Refresh๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์ดํ›„ ๋กœ์ง ์ฒ˜๋ฆฌ

* style: ktFormat ์ ์šฉ

* refactor: ํ•„์š” ์—†์–ด์ง„ ์ฝ”๋“œ ์ œ๊ฑฐ

* chore: ํ•„์š” ์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด์ „ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •, Calendar ๋ฐฉ์‹์œผ๋กœ DatePicker๋ฅผ ๋ณ€๊ฒฝ (#481)

* feat: Date Picker๋ฅผ ๋‹ฌ๋ ฅ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ

* feat: ํ˜„์žฌ๋ณด๋‹ค ์ด์ „ ๋‚ ์งœ๋Š” ์„ ํƒํ•  ์ˆ˜ ์—†๋„๋ก ์ œํ•œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆํ™”๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ (#491)

* feat: local ๊ณผ remote mapper ๋ถ„๋ฆฌ

* fix: ์ž˜๋ชป import๋œ ์ฝ”๋“œ ์ˆ˜์ •

* feat: local ๋ฐ remote ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* fix: ์ž˜๋ชป๋œ import์ฝ”๋“œ ์ˆ˜์ •

* feat: common ํŒจํ‚ค์ง€ ์ƒ์„ฑ ๋ฐ ๋ณ€๊ฒฝ

* feat: auth ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint ์ ์šฉ

* feat: remote ์™€ local ํŒจํ‚ค์ง€ data๋กœ ์ด๋™

* style: ktlint ์ ์šฉ

* feat: error handler ๊ด€๋ จ ๋กœ์ง common์œผ๋กœ ์ด๋™

* refactor: ์ž˜๋ชป๋œ ์˜์กด์„ฑ ๊ด€๊ณ„ ๋ณ€๊ฒฝ

* feat: DataStore์„ common ํŒจํ‚ค์ง€๋กœ ๋ณ€๊ฒฝ

* feat: build.gradle ์ค‘๋ณต ๋กœ์ง ์ˆ˜์ • ๋ฐ version catalog๋ฅผ ํ†ตํ•œ ๊ด€๋ฆฌ

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

---------

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

* refactor: ์˜์กด์„ฑ ์ฃผ์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Hilt) ์ ์šฉ (#500)

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

* feat: Auth, CommentRooms Hilt ์ ์šฉ

* feat: Data Store Hilt ์ ์šฉ

* style: ktFormat ์ ์šฉ

* feat: OfferingWrite Hilt ์ ์šฉ

* feat: CommentDetail Hilt ์ ์šฉ

* feat: Participant Hilt ์ ์šฉ

* feat: Assisted Inject ๊ตฌํ˜„

* feat: OfferingDetail Hilt ์ ์šฉ

* feat: ktFormat ์ ์šฉ

* chore: gradle์—์„œ hilt ๋ฒ„์ „ ์ˆ˜์ •

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

* chore: ์ค‘๋ณต๋œ ์˜์กด์„ฑ ์ œ๊ฑฐ ๋ฐ ์ •๋ฆฌ

* feat: (๋น ํŠธ๋ฆฐ๊ฒƒ) MyPageViewModel์— Hilt ์ ์šฉ

* feat: (๋น ํŠธ๋ฆฐ๊ฒƒ) OfferingDao์—๋„ Hilt ์ ์šฉ

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ์ œ๊ณต ํ•จ์ˆ˜๋“ค ์ œ๊ฑฐ

---------

Co-authored-by: ์ฑ„ํ˜„ <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon pushed a commit that referenced this pull request Oct 11, 2024
ChooSeoyeon added a commit that referenced this pull request Oct 11, 2024
* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: Dora Choo <[email protected]>

* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

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

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

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

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

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

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

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

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

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

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

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

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

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

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

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

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

* feat: logging ์ ์šฉ

---------

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

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

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

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

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

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

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

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

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

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

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

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

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

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

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

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

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

---------

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

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

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

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

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

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

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

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

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

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

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

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

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

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

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

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

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

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

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

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

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

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

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

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

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

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

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

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

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

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

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

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

* merge: v1.1.0 to develop-BE

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



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



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



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

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

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

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

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

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

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

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

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

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

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

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

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

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

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

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

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

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

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

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

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

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

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

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

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

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

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

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

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง โ€ฆ
fromitive added a commit that referenced this pull request Oct 18, 2024
* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: Dora Choo <[email protected]>

* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ

Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: Dora Choo <[email protected]>

* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

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

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

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

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------

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

* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

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

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

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

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

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

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

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

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

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

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

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

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

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

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

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

---------

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

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

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

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

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

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

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

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

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

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

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

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

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

---------

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

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

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

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

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

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

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

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

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

---------

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

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

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

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

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

---------

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

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

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

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

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

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

Co-authored-by: masonkimseoul <[email protected]>

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

Co-authored-by: masonkimseoul <[email protected]>

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

Co-authored-by: fromitive <[email protected]>

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

* test: OfferingViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

* feat: OfferingDetailViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: logging ์ ์šฉ

---------

Co-authored-by: fromitive <[email protected]>

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

* feat: valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” DTO ์ œ๊ฑฐ

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

Co-authored-by: fromitive <[email protected]>

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

* style: ์ฃผ์„ ์ œ๊ฑฐ

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

Co-authored-by: fromitive <[email protected]>

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

* refactor: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ๋ถˆํ•„์š”ํ•œ yml ์„ค์ • ์ œ๊ฑฐ

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ api ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* refactor: ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

Co-authored-by: Choo <[email protected]>

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

* merge: v1.1.0 to develop-BE

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



* chore: springdoc ์„ค์ • ์ถ”๊ฐ€



* feat: SwaggerConfig ํŒŒ์ผ ์ถ”๊ฐ€



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#35)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: ์ค„๋ฐ”๊ฟˆ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: UIํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

* test: RestAssured RestDocs ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ โ€ฆ
ChooSeoyeon added a commit that referenced this pull request Oct 23, 2024
* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: UIํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------

Co-authored-by: masonkimseoul <[email protected]>

* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

* test: RestAssured RestDocs ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

Co-authored-by: fromitive <[email protected]>

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

Co-authored-by: fromitive <[email protected]>

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

Co-authored-by: fromitive <[email protected]>

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

Co-authored-by: fromitive <[email protected]>

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

Co-authored-by: fromitive <[email protected]>

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

Co-authored-by: masonkimseoul <[email protected]>

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

Co-authored-by: masonkimseoul <[email protected]>

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

Co-authored-by: fromitive <[email protected]>

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

* test: OfferingViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

* feat: OfferingDetailViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: logging ์ ์šฉ

---------

Co-authored-by: fromitive <[email protected]>

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

* feat: valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” DTO ์ œ๊ฑฐ

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

Co-authored-by: fromitive <[email protected]>

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

* style: ์ฃผ์„ ์ œ๊ฑฐ

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

Co-authored-by: fromitive <[email protected]>

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

* refactor: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ๋ถˆํ•„์š”ํ•œ yml ์„ค์ • ์ œ๊ฑฐ

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ api ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* refactor: ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

Co-authored-by: Choo <[email protected]>

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

* merge: v1.1.0 to develop-BE

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



* chore: springdoc ์„ค์ • ์ถ”๊ฐ€



* feat: SwaggerConfig ํŒŒ์ผ ์ถ”๊ฐ€



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#35)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: ์ค„๋ฐ”๊ฟˆ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: UIํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

* test: RestAssured RestDocs ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

* test: OfferingViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------




* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

* feat: OfferingDetailViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: logging ์ ์šฉ

---------



* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (โ€ฆ
fromitive added a commit that referenced this pull request Oct 24, 2024
* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™

Co-authored-by: fromitive <[email protected]>

* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”

Co-authored-by: fromitive <[email protected]>

* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ

Co-authored-by: fromitive <[email protected]>

* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)

Co-authored-by: fromitive <[email protected]>

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”

Co-authored-by: fromitive <[email protected]>

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------

Co-authored-by: masonkimseoul <[email protected]>

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„

Co-authored-by: masonkimseoul <[email protected]>

* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: Choo <[email protected]>

* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------

Co-authored-by: fromitive <[email protected]>

* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: masonkimseoul <[email protected]>
Co-authored-by: SCY <[email protected]>

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

* test: OfferingViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

* feat: OfferingDetailViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: logging ์ ์šฉ

---------

Co-authored-by: fromitive <[email protected]>

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

* refactor: ๋ชจ์ง‘์ค‘์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๊ณต๋ชจ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์—†๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ช…ํ™•ํ•œ ๋ฌธ๊ตฌ๋กœ ๋ณ€๊ฒฝ

* refactor: query parameter๋ฅผ ์ ์šฉํ•ด ์–ด๋–ค ๊ณต๋ชจ์˜ ์ฐธ์—ฌ๋ฅผ ์ทจ์†Œํ•  ๊ฒƒ์ธ์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์ด๋Œ€ ๊ฒ€์ฆ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ (#319)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ฑ ์‹œ์  ๋ณ€๊ฒฝ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ OfferingWithRole ์ œ๊ฑฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋„๋ฉ”์ธ CommentWithRole ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€ (#322)

* feat: ๋กœ๊ทธ์ธ API ์‘๋‹ต์— memberId์™€ nickname ํ•„๋“œ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ์ธ์šฉ dto ๋ถ„๋ฆฌ ๋ฐ ๊ณตํ†ต dto์— prefix๋กœ auth ์ถ”๊ฐ€

* feat: valid ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€ (#323)

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณ€์ˆ˜๋ช… ๊ตฌ์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์‘๋‹ต์— ์ด๋Œ€์—ฌ๋ถ€ ์•Œ๋ ค์ฃผ๋Š” boolean ํ•„๋“œ ์ถ”๊ฐ€

* docs: todo ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* feat: ๊ณต๋ชจ์ž ์—ฌ๋ถ€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ (#325)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ API ํ™•์žฅ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๊ด€๋ จ ๋กœ์ง ๋Œ“๊ธ€ ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: LoggingFilter์—์„œ ๋˜์ง€๋Š” ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ ์‹œ ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ํ™•์ธ ๋กœ์ง ๋„๋ฉ”์ธ์œผ๋กœ ์ด๋™

* feat: ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Œ€์ธ์ง€ ๊ฒ€์ฆ

* refactor: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#327)

* feat: ParticipantResponse์— ์ฐธ์—ฌ ์ธ์› ํ˜„ํ™ฉ, ์˜ˆ์ƒ ์ •์‚ฐ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€

* refactor: Response depth ์ค„์ด๊ธฐ ๋ฐ DTO ์ƒ์„ฑ์ž ์ž‘์„ฑ

* fix: imminent ํ•„ํ„ฐ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#337)

* fix: ์ปค์Šคํ…€ ํ•„ํ„ฐ๋กœ ์ธํ•ด h2-console ์ ‘์† ๊นจ์ง€๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#339)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#341)

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

* feat: url ์—ฐ๊ฒฐ ๋กœ์ง ๊ตฌํ˜„

* feat: ํ•„์š”์—†๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ ํ…Œ์ด๋ธ”์— ํ• ์ธ์œจ๊ณผ ์ƒํƒœ ํ•„๋“œ ์ถ”๊ฐ€ (#342)

* refactor: Condition๊ณผ Status ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” DTO ์ œ๊ฑฐ

* feat: OfferingEntity์— ์นผ๋Ÿผ ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๊ฑฐ๋ž˜ ๋‚ ์งœ ํ•„๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#348)

* fix: ์ƒ์„ธํ™”๋ฉด์—์„œ ํ™ˆํ™”๋ฉด์œผ๋กœ ๊ฐ”์„ ๋•Œ ์ƒํƒœ ๋ณ€๊ฒฝ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#343)

* refactor: ๊ณต๋ชจ์ƒ์„ธํŽ˜์ด์ง€ Activity -> Fragment๋กœ ๋ฆฌํŒฉํ† ๋ง

* fix: ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์ƒํƒœ๋ณ€๊ฒฝ ๋ฏธ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ์ฃผ์„ ์ œ๊ฑฐ ๋ฐ ์ƒ์ˆ˜ํ™”

* refactor: livedata ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ

* refactor: progressbar์œ„์น˜ ์ˆ˜์ •

* refactor: lifecycleScope์‚ฌ์šฉ ๋ฆฌํŒฉํ† ๋ง

* refactor: adapter์—์„œ ์ „์ฒด ์•„์ดํ…œ์ด ์•„๋‹Œ ํŠน์ • ์•„์ดํ…œ๋งŒ notifyํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#352)

* refactor: api๋Œ€์‘

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ux ๊ฐœ์„  (#344)

* fix: ๊ฐ ํ•ญ๋ชฉ์˜ ์„ค๋ช…์„ place holder๋กœ ์ด๋™

* fix: ํ•„์ˆ˜์™€ ์„ ํƒ ํ•ญ๋ชฉ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

* feat: ๋ฒ„ํŠผ์ด ํ•ญ์ƒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* fix: ๊ฐ€๊ฒฉ๊ณผ ์ด์›์€ ์ˆซ์ž๋งŒ ์ž…๋ ฅ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* fix: ํŒจ๋”ฉ ์ˆ˜์ •

* fix: ui ์ˆ˜์ •

* fix: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ deadline -> tradeDate ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•˜๋ฉด ์„ ํƒ ํ•ญ๋ชฉ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: shared viewModel ์‚ฌ์šฉ, ๋ฏธํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ๋ฏธํ•„์ˆ˜ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ž…๋ ฅ ์ˆซ์ž์˜ ๊ธ€์ž์ˆ˜์™€ ๋ผ์ธ์ˆ˜ ์ œํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์ด์›์ด -1์ดํ•˜๋กœ ๋–จ์–ด์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ณต๋™๊ตฌ๋งค ํ…์ŠคํŠธ ๋„์–ด์“ฐ๊ธฐ ์ œ๊ฑฐ

* fix: ํ• ์ธ์œจ, ์—”๋นต ๊ธˆ์•ก์ด ์œ ํšจํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” "-"๋กœ ๋œจ๋„๋ก ๋ณ€๊ฒฝ

* fix: ๊ณต๋ชจ๋ฅผ ๊ฒŒ์‹œํ•˜๋ฉด ํ•„์ˆ˜, ์„ ํƒ ํ™”๋ฉด ๋ชจ๋‘ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* fix: ๋‚ ์งœ ์‹œ๊ฐ„ ํ”ฝ์ปค๋ฅผ ๋‚ ์งœ๋งŒ ์„ ํƒํ•˜๋Š” ํ”ฝ์ปค๋กœ ๋ณ€๊ฒฝ

* refactor: ktFormat ์ ์šฉ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์˜ place holder๋กœ ํ˜„์žฌ ์—”๋นต ๊ธˆ์•ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ด์šฉ์˜ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜์™€ ํ˜„์žฌ ๊ธ€์ž์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ktFormat ์ ์šฉ

* refactor: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์‹œ memberId๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* fix: ์ด์› ์ตœ๋Œ€ 4์ž๋ฆฌ์—์„œ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* fix: deadline -> meetingDate ๋„ค์ด๋ฐ ์ˆ˜์ •

* fix: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ›„ ์ž‘์„ฑ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(eachPrice -> originPrice)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ •(individualPrice -> originPrice)

* fix: ๋‚ด์šฉ์˜ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ์ƒ‰์ด ๋ฉ”์ธ์ปฌ๋Ÿฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ํ”„๋ž˜๊ทธ๋จผํŠธ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ”์ธ๋”ฉ ํ•ด์ œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: id๊ฐ€ ์—†๋Š” ๋ทฐ์˜ id ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* fix: ๋‚ด์šฉ ์˜†์˜ * ์ œ๊ฑฐ

* fix: GA ์ด๋ฒคํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ(๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ - ํ•„์ˆ˜ ํ™”๋ฉด์—์„œ์˜ ์ด๋ฒคํŠธ์ž„์„ ๋ช…์‹œํ•จ)

* refactor: og ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ˆ˜์ • (#349)

* refactor: crawler ํŒจํ‚ค์ง€ ์ด๋™

* feat: naver api ํด๋ผ์ด์–ธํŠธ ์ถ”๊ฐ€

refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ธฐ์กด og image ํฌ๋กค๋Ÿฌ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: html ํฌ๋กค๋ง ๋ฐฉ์‹๊ณผ naver api ๋ฐฉ์‹์„ ์กฐํ•ฉํ•˜๋Š” Extractor ๊ตฌํ˜„

* fix: OfferingService ProductImageExtractor ์ถ”์ƒํ™”

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#358)

* feat: ๋กœ๊ทธ์ธ ์‹œ์—๋„ memberId์™€ nickName์„ ๋ฐ›์•„์„œ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ํ•„ํ„ฐ๋ง ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ (#356)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ด๋ฆ„ ๋งˆ๊ฐ์ž„๋ฐ•๋งŒ์œผ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: fromitive <[email protected]>

* feat: "์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ" ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

Co-authored-by: fromitive <[email protected]>

* fix: ์ฟผ๋ฆฌ ๋‚ด ๋ถˆํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ์ด null์ผ ๊ฒฝ์šฐ ๋†’์€ํ• ์ธ์œจ ํ•„ํ„ฐ๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>

* feat: ์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ ํ•„ํ„ฐ๋ง ์ „๋žต ํด๋ž˜์Šค ์ถ”๊ฐ€

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ์‘๋‹ต๊ฐ’ ๋ณ€๊ฒฝ

* fix: ๋†’์€ ํ• ์ธ์œจ ๋‹จ์œ„ ๋ณ€๊ฒฝ ๋ฐ last-id ํ•„ํ„ฐ๋ง ๋กœ์ง ์ˆ˜์ •

* style: ์ฃผ์„ ์ œ๊ฑฐ

---------

Co-authored-by: fromitive <[email protected]>

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ • (#359)

* refactor: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •

Co-authored-by: fromitive <[email protected]>

* refactor: ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>

* test: ํ• ์ธ์œจ ๊ณ„์‚ฐ ๋กœ์ง

* fix: ํ• ์ธ์œจ ๋‹จ์œ„ ๋ฐฑ๋ถ„์œจ๋กœ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: ์ด ๋ชจ์ง‘ ์ธ์› ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ์„ค์ • (#361)

Co-authored-by: fromitive <[email protected]>

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • (#362)

* fix: ํ•„ํ„ฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

- '์ฐธ์—ฌ๊ฐ€๋Šฅ๋งŒ'ํ•„ํ„ฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ์ œ๊ฑฐ

* chore: ์ฃผ์„ ์ œ๊ฑฐ

* ๏ฟฝfeat: API ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#364)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€๋ฐฉ ์ •๋ณด ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* feat: ๋Œ“๊ธ€ ์ƒํƒœ ๋ณ€๊ฒฝ api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋Œ€์‘

* test: api ์ŠคํŽ™ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: remote dto package ๋ถ„๋ฆฌ

* feat: ์ž๋™ ํ™•์ • ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ (#363)

* chore: todo ์ถ”๊ฐ€ ๋ฐ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Scheduled ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ ๋ฐ Scheduler ๋ถ„๋ฆฌ

* test: ServiceTest ํ™˜๊ฒฝ ๊ตฌ์ถ•

* feat: offeringStatus ๋ณ€๊ฒฝ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ˆ˜๋™ ํ™•์ • ๋กœ์ง ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •

* refactor: ์ž๋™ ํ™•์ • ๋กœ์ง์„ ์กฐํšŒ์—์„œ Scheduled๋กœ ์ด๋™

* fix: ๋งˆ๊ฐ์ž„๋ฐ• ์„ค์ • ๊ธฐ์ค€ ๋‚ด์ผ๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: Choo <[email protected]>
Co-authored-by: SCY <[email protected]>

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ • (#369)

* feat: Access Token, Refresh Token์„ data store์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#372)

* feat: ์•ฑ ์žฌ์‹œ์ž‘ ์‹œ ํ† ํฐ์„ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ๊บผ๋‚ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ์ด ์ด๋ฏธ ๋˜์–ด์žˆ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ฐ”ํ…€๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ฐ์ดํ„ฐ์Šคํ† ์–ด์—์„œ ํ† ํฐ์ด ๊บผ๋‚ด์ง€์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

data store์—์„œ ํ† ํฐ์„ ๊บผ๋‚ด๋Š” ์ฝ”๋ฃจํ‹ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด ๋ฒ„๋ ค์„œ ์ƒ๊ธฐ๋Š” ๋ฒ„๊ทธ์˜€์Šต๋‹ˆ๋‹ค.

* refactor: ktFormat ์ ์šฉ

* refactor: startActivity ํ•จ์ˆ˜๋ฅผ LoginActivity๊ฐ€ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ๊ฐ–๊ณ  ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ event๋ช… ๋ณ€๊ฒฝ

์ถ”๊ฐ€๋กœ GA์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ์ž˜๋ชป๋œ ์ ์ด ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ˜์˜ (#375)

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฌผํ’ˆ ๋งํฌ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ๊ตฌํ˜„

* refactor: ๋งˆ๊ฐ ์‹œ๊ฐ„์—์„œ ๊ฑฐ๋ž˜ ๋‚ ์งœ๋กœ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ๊ฒŒ์‹œ๊ธ€์—์„œ ์ฑ„ํŒ…๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๋ฐฉ์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#376)

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ํฌ๊ธฐ๊ฐ€ ํ™”๋ฉด ๋ฐ–์— ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ๋ ˆ์ด์•„์›ƒ์˜ ๋งจ ๋ฐ‘์— ๊ตฌ๋ถ„์„  ํ•˜๋‚˜ ์ถ”๊ฐ€

์•„๋ž˜๋กœ ๋•ก๊ฒผ์„ ๋•Œ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ณด๊ธฐ ์•ˆ์ข‹์•„์„œ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค

* refactor: ์ฝ”ํŠธ ํฌ๋งท ์ ์šฉ (์ปจํŠธ๋กค ์•ŒํŠธ L)

* feat: isManualConfirmed ์ œ๊ฑฐ ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง ํ™•์ธ (#377)

* refactor: isManualConfirmed ์นผ๋Ÿผ ์‚ญ์ œ ๋ฐ ๊ด€๋ จ ๋กœ์ง ๋ถ„๋ฆฌ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

---------

Co-authored-by: fromitive <[email protected]>

* feat: API ๋ณ„ ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€ (#371)

* feat: ๊ถŒํ•œ ํ™•์ธ ๋กœ์ง ์ถ”๊ฐ€

* feat: ์ธ์ฆ ํ•„ํ„ฐ ์ ์šฉ

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์นผ๋Ÿผ ์œ„์น˜ ๋ณ€๊ฒฝ (#382)

* refactor: ํ™ˆํ™”๋ฉด apiํ•„๋“œ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๋Œ€์‘ (#381)

* refactor: dtoํ•„๋“œ ์ถ”๊ฐ€

* fix: ์ƒํƒœ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํ•„ํ„ฐ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰์ƒํƒœ์ผ ๋•Œ ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ๋‚˜์˜ค๋ฉด ๋ชฉ๋ก ์•ˆ๋ณด์ด๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์„ธ๋ถ€ ์ฃผ์†Œ api์—์„œ ๋ฐ›์•„์˜ค๋„๋ก ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ (#384)

* fix: API ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* style: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” URL ๊ฐœํ–‰ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#386)

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#388)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ์—”๋“œํฌ์ธํŠธ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ API

* style: ๊ณต๋ชจ ๊ด€๋ จ API ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ๊ณต๋ชจ๊ธ€ ์ƒ์„ฑ ์ฝ”๋“œ ์ œ๊ฑฐ

* test: ๊ณต๋ชจ ๋‹จ๊ฑด ์กฐํšŒ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

* refactor: ์ƒํƒœ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง (#389)

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ api๋ณ€๊ฒฝ ๋Œ€์‘

* refactor: ๊ณต๋ชจ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* fix: ๋Œ“๊ธ€ ์ž…๋ ฅ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ ์ตœ๊ทผ ๋Œ“๊ธ€์ด ๋ฐ˜์˜๋˜๋„๋ก ์ˆ˜์ • (#397)

* chore: JAR ํŒŒ์ผ์— OAS ํŒŒ์ผ ๋ˆ„๋ฝ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ ์ค‘๋ณต task ์ œ๊ฑฐ (#391)

* chore: ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* fix: ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API์—์„œ totalCount ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ ํ•ด๊ฒฐ (#400)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ API ์—ฐ๊ฒฐ (#401)

* feat: ์ฐธ๊ฐ€์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” api service ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ์ฐธ์—ฌ ๊ด€๋ฆฌ datasource ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž domain ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” repository ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” recycler view ์—ฐ๊ฒฐ ๋ฐ ๊ตฌํ˜„

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ •

* feat: ํ•„์š”์—†๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์‚ญ์ œ ๋ฐ ์ƒํƒœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ui model ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋กœ์ง ui model์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ

* refactor: ui model ๋ณ€ํ™˜ ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๊ณต๋™๊ตฌ๋งค ์ฐธ์—ฌ ์ธ์› ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ํผ ์—ฐ๊ฒฐ ๊ตฌํ˜„

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: xml id ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ API ์—ฐ๊ฒฐ (#402)

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ api service ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ data source ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ repository ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ๋‚˜๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* style:ktlint ์ ์šฉ

* fix: /auth/refresh endpoint accessToken ๊ฒ€์ฆ ์˜ˆ์™ธ ์ถ”๊ฐ€ (#407)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด (#406)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด

* refactor: ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ ๋ฐ˜์˜

* feat: CallApiHandler ๊ตฌํ˜„ (#403)

* feat: CallApiHandler ๊ตฌํ˜„

* refactor: CommentRoomsDataSource ์ˆ˜์ •

* feat: CommentRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ DataSource ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailDataSource
- OfferingRemoteDataSource

* feat: ParticipantRemoteDataSourceImpl ์—๋Ÿฌํ•ธ๋“ค๋ง์„ ํ†ตํ•ด ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: AuthRemoteDataSource ์ˆ˜์ •

* feat: Result์˜ map ๊ณผ getOrThrow ํ•จ์ˆ˜ ์ƒ์„ฑ

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ Repository ๋ฆฌํŒฉํ† ๋ง
- OfferingDetailRepository
- OfferingRepository

* refactor: Result ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ˆ˜์ • (AuthRepository, CommentRoomsRepository)

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ ParticipantRepository ๋ฆฌํŒฉํ† ๋ง

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ viewmodel ๋ฆฌํŒฉํ† ๋ง
- OfferingViewModel
- OfferingDetailViewModel

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ LoginViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentRoomsViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ›„ ๋‹ค์‹œ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ CommentDetailViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ OfferingWriteViewModel ๋ฆฌํŒฉํ† ๋ง

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ํ† ํฐ ๋ฆฌํ”„๋ž˜์‹œ ์ ์šฉ

* fix: ์ž˜๋ชป๋œ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฃผ์„ ์ œ๊ฑฐ

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก ๋ฆฌํŒฉํ† ๋ง

* fix: ๋ฆฌ๋นŒ๋“œ์‹œ ์ฟ ํ‚ค๊ฐ€ ์ œ๋Œ€๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ ์ƒ์ˆ˜ํ™” ์ถ”๊ฐ€

* test: ์—๋Ÿฌํ•ธ๋“ค๋ง์— ๋”ฐ๋ฅธ FakeAuthRepository, OfferingWriteViewModelTest ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* test: ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Fake Repository ๋ณ€๊ฒฝ

* test: CommentDetailViewModelTest ์ฝ”๋“œ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ (์—๋Ÿฌ ๋กœ๊ทธ ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€, Success๊ฐ€ Error๋ณด๋‹ค ์œ„์— ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •)

* refactor: ๋ถˆํ•„์š”ํ•œ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ๋ฆฌํŒฉํ† ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ๋žŒ๋‹ค ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

* style: lint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>

* feat: proguard๋ฅผ ์‚ฌ์šฉํ•œ ๋‚œ๋…ํ™” ์ ์šฉ (#413)

* chore: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ yml ํŒŒ์ผ ๋ถ„๋ฆฌ  (#411)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ๋ถˆํ•„์š”ํ•œ yml ์„ค์ • ์ œ๊ฑฐ

* ๏ฟฝfix: ๊ณต๊ตฌ ์ƒ์„ธ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#417)

* fix: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ์ฃผ์†Œ ํ‘œ์‹œํ•  ๋•Œ ์ตœ๋Œ€ 2์ค„๊นŒ์ง€ ๊ทธ๋ฆฌ๊ณ  ๋„˜์–ด๊ฐˆ ์‹œ ๋ง์ค„์ž„ ๋‚˜์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก, ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง (#418)

* refactor: ๊ณต๋ชจ ๋ชฉ๋ก์—์„œ 401์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—๋Ÿฌ์ฝ”๋“œ ์˜ฌ ์‹œ ๋นˆํ™”๋ฉด ๋ณด์—ฌ์ฃผ๋„๋ก ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ๊ณต๋ชจ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง ์—๋Ÿฌํ•ธ๋“ค๋ง ์ˆ˜์ •

- 400: ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ๋„์–ด์คŒ
- 401: refresh
- ๊ทธ์™ธ์—๋Š” ๋กœ๊ทธ๋กœ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์คŒ

* refactor: strings๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ๊ณต๋ชจ ์ƒ์„ธ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ˆ˜์ •

* refactor: strings์ •๋ฆฌ

- offering_detail๋ถ€๋ถ„ ์ •๋ฆฌ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค‘ ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ ๋กœ์ง์„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ์ด๊ด€ (#404)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* feat: providerId๋ฅผ loginId๋กœ ์ˆ˜์ •

* feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋žœ๋ค ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ api ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ณ€๊ฒฝ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>

* test: MemberFixture ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ œ๊ฑฐ ๋ฐ ํ†ต์ผ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* refactor: ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ์ œ๊ฑฐ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

* feat: ๋ฏผ๊ฐ ์ •๋ณด ๋กœ๊น…์—์„œ ์ œ์™ธ

Co-authored-by: fromitive <[email protected]>
Co-authored-by: Dora Choo <[email protected]>

---------

Co-authored-by: fromitive <[email protected]>
Co-authored-by: SCY <[email protected]>
Co-authored-by: fromitive <[email protected]>

* feat: cookie ๊ด€๋ จ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#409)

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ http ์ถ”๊ฐ€ (#422)

* fix: ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋งž์ถ”๊ธฐ (#425)

* feat: ๋กœ๊ทธ์ธ api ๋ณ€๊ฒฝ ๋ฐ˜์˜ (#426)

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ์ด๋Œ€๋งˆ์ผ“ ์„œ๋ฒ„๋กœ email์„ ๋ณด๋‚ด๋˜ ๋ฐฉ์‹์—์„œ ์นด์นด์˜ค access token์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: login๊ณผ signup์„ ํ•˜๋‚˜๋กœ api๋กœ ํ†ตํ•ฉ๋œ ๊ฒƒ ๋ฐ˜์˜

* refactor: ktFormat ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๋กœ๊น… ์‹œ UUID๊ฐ€ ์•„๋‹Œ ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜๋„๋ก ๋ณ€๊ฒฝ (#428)

* feat: logging ์‹œ memberId๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: logging ์‹œ memberId ๋ฐ identifier๊ฐ€ ํ•จ๊ป˜ ๋‚˜์˜ค๋„๋ก ๋ณ€๊ฒฝ

* refactor: lombok getter ์ ์šฉ

* feat: Spring Timezone KST๋กœ ์„ค์ • (#430)

* chore: Dockerfile ํƒ€์ž„์กด ๋ณ€๊ฒฝ (#432)

* fix: Offering ๋ชฉ๋ก ์กฐํšŒ ์‹œ NPE ํ•ด๊ฒฐ (#434)

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฆฌํŒฉํ† ๋ง (#436)

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ๋ฐ์ดํ„ฐ์Šคํ† ์–ด๋ฅผ ๋น„์šฐ๊ณ  ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#438)

* feat: ๋Œ“๊ธ€๋ฐฉ ์—๋Ÿฌ ํ—จ๋“ค๋ง (#439)

* refactor: refresh์‹œ 401์ด ์˜ค๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€ (#441)

* chore: ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (#443)

* refactor: ์™ธ๋ž˜ํ‚ค ํ•„๋“œ notnull ์กฐ๊ฑด ์ถ”๊ฐ€ (#445)

* chore: prod CI/CD ๊ตฌ์ถ• (#423)

* chore: ํ™˜๊ฒฝ ๋ณ„๋กœ yml ํŒŒ์ผ ๋ถ„๋ฆฌ

* chore: ์šด์˜ ์„œ๋ฒ„ CI/CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ์šด์˜ ํ™˜๊ฒฝ ๋‚ด swagger ๋ฌธ์„œ ์ œ๊ฑฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ํฌํŠธํฌ์›Œ๋”ฉ ๋ช…๋ น์–ด ์ œ๊ฑฐ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ ํŠธ๋ฆฌ๊ฑฐ path ๊ตฌ์ฒดํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ docker ์‹คํ–‰ ๋ช…๋ น์–ด ์˜คํƒ€ ์ˆ˜์ •

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev ๋ฐ prod ci/cd ์Šคํฌ๋ฆฝํŠธ data.sql ์‹คํ–‰ ๋น„ํ™œ์„ฑํ™”

* chore: prod ci/cd ์Šคํฌ๋ฆฝํŠธ path ๋กค๋ฐฑ

* chore: dev script test

---------

Co-authored-by: Choo <[email protected]>

* chore: prod ๋ถˆํ•„์š”ํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ฃผ์„ ์ฒ˜๋ฆฌ (#447)

* merge: v1.1.0 to develop-BE

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๊ตฌํ˜„ (#8)

* feat: ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: Data layer์ฝ”๋“œ ์ž‘์„ฑ

* refactor: dtoํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ, dto์— serialName์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

- ๊ฐ€๋ณ€์—์„œ ๋ถˆ๋ณ€์œผ๋กœ ๋ณ€๊ฒฝ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅํ•จ์ˆ˜๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* style: lint ์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: request Dto์— SerialName์ ์šฉ

* refactor: ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (#15)

* feat: BaseTimeEntity ์ถ”๊ฐ€



* feat: Member Entity ์ถ”๊ฐ€



* feat: Offering Entity ์ถ”๊ฐ€



* feat: OfferingMember Entity ์ถ”๊ฐ€



* feat: Comment Entity ์ถ”๊ฐ€



---------



* feat: BottomNavigation ๊ตฌํ˜„ (#16)

* chore: jetpack navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ•„์š”ํ•œ ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฆฌ์†Œ์Šค ์ถ”๊ฐ€

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: bottom navigation graph ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ id ์ˆ˜์ •

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#18)

* chore: h2 ํ™˜๊ฒฝ์„ค์ • ์ถ”๊ฐ€

* docs: http client ์ถ”๊ฐ€

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* chore: dummy data ์ถ”๊ฐ€

* docs: http client ๊ฐ’ ๋ณ€๊ฒฝ

* refactor: repository ์™€ domain ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒ์„ธ ์กฐํšŒ API ๊ตฌํ˜„

* refactor: entity ์ ‘๋ฏธ์–ด ์ ์šฉ

* style: ํด๋ž˜์Šค ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: h2 console ์„ค์ • ์ œ๊ฑฐ

* refactor: OfferingCondition enum๊ฐ’ ๊ฒฐ์ •๋กœ์ง์„ enum ์•ˆ์œผ๋กœ ์ด๋™

* feat: ํ™ˆํ™”๋ฉด, ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ (#19)

* refactor: FragmentContainer width ์†์„ฑ ์ˆ˜์ •

* feat: ํ™ˆ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* fix: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด ํ™ˆ์—์„œ๋งŒ ๋ณด์ด๋„๋ก ์ˆ˜์ •

* refactor: ๋ฆฌ์†Œ์Šค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: API ๋ฌธ์„œํ™” ์ ์šฉ (#23)

* chore: springdoc-openapi ์˜์กด์„ฑ ์ถ”๊ฐ€



* chore: springdoc ์„ค์ • ์ถ”๊ฐ€



* feat: SwaggerConfig ํŒŒ์ผ ์ถ”๊ฐ€



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API ๋ฌธ์„œํ™”



---------



* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํฌ API์˜ price ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ ๋ฐ memberId ํ•„๋“œ ์ถ”๊ฐ€ (#28)

* fix: ์ƒ์„ธ์กฐํšŒ API ๊ธˆ์•ก ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ



* fix: memberId ์ถ”๊ฐ€

* ๋‚ด๊ฐ€ ์“ด ๊ธ€์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ ์œ„ํ•ด


---------



* chore: ๋ฐฑ์—”๋“œ CI ๋ฐ ๋„์ปค ํŒŒ์ผ ์ž‘์„ฑ (#27)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ • (#30)

* chore: actions ์ ์šฉ ๋ธŒ๋žœ์น˜ ์„ค์ •

* chore: path ๋ฐ ref ํƒœ๊ทธ ์ œ๊ฑฐ

* chore: working-directory ํƒœ๊ทธ ์ถ”๊ฐ€

* chore: Dockerfile jar ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๊ตฌํ˜„ (#26)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก UI ๊ตฌํ˜„

* fix: ๊ตฌ๋ถ„์„ ์„ ImageView์—์„œ View๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ ๋ชจ๋ธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์–ด๋‹ตํ„ฐ ๊ตฌํ˜„

* feat: "์ฑ„ํŒ…" string ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: xmls ์ค‘๋ณต ์†์„ฑ ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€๋ฐฉ ํด๋ž˜์Šค๋“ค์„ comment ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* refactor: ์ปฌ๋Ÿฌ์™€ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ values ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#35)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* docs: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API http client์— ์ถ”๊ฐ€

* fix: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ status ํ•„๋“œ๋ฅผ condition์œผ๋กœ ๋ช…์นญ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์˜ isClosed ํ•„๋“œ ์ด๋ฆ„์„ isOpen์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ํ™”๋ฉด ๊ตฌํ˜„ (#32)

* feat: font ์„ค์ •

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์ฑ„ํŒ… ์•„์ดํ…œ ๋ทฐ ๊ตฌํ˜„

* refactor: ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ edit text ๊ตฌํ˜„

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#34)

* chore: ๋ฐฑ์—”๋“œ CD ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋„์ปค ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

* chore: ๋„์ปค ์„ค์ • ๋ฐ ํŠธ๋ฆฌ๊ฑฐ ์„ค์ • ๋ณ€๊ฒฝ

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋กœ์ง ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐ ๋ฐฉ์‹ ์ˆ˜์ •

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ๊ฐ•์ œ ์ œ๊ฑฐํ•˜๋„๋ก ์ˆ˜์ •

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€ (#39)

* chore: gradle ์บ์‹ฑ ๋กœ์ง ์ถ”๊ฐ€

* chore: ์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#40)

* fix: BaseTimeEntity ์ ์šฉ ์˜ค๋ฅ˜ ์ˆ˜์ •



* feat: ์ฐธ์—ฌํ•˜๊ธฐ API ๊ตฌํ˜„



---------



* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์— ์ฐธ์—ฌ์ž ๋ชฉ๋ก ํ•„๋“œ ์ถ”๊ฐ€ (#42)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ API์˜ request์— memberId ํ•„๋“œ ์ถ”๊ฐ€ (#45)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ์‘๋‹ต๊ฐ’ ์ „๋ถ€ ์ œ๊ฑฐ (#48)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ API์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜ํ™˜๊ฐ’ ์ œ๊ฑฐ

* chore: ์ž์ฃผ ์“ฐ๋Š” h2 console enabled ์„ค์ • ์ฃผ์„ ์ฒ˜๋ฆฌ

* feat: ์ด๋ฏธ ์ฐธ์—ฌํ•œ ๊ณต๋ชจ์— ์ฐธ์—ฌ ๋ชปํ•˜๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#51)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ API ์—ฐ๊ฒฐ (#46)

* build: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ, properties๊ด€๋ จ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: base_url์ฝ”๋“œ์ƒ์—์„œ ์ œ๊ฑฐ

* feat: api์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ•„๋“œ ๋ณ€๊ฒฝ ๋ฐ ๋„ค์ด๋ฐ ๋ฐ˜์˜

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: OfferingDetail์˜ ๋ณ€๊ฒฝ, mapper๋ณ€๊ฒฝ

* refactor: service๋ถ„๋ฆฌ

* refactor: DataSource, Repository๋ถ„๋ฆฌ

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ณต๋ชจ ์ƒ์„ธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฐธ์—ฌํ•˜๊ธฐ api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ์—ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์„ ์‹œ ๊ธฐ๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํ™”๋ฉด ํฐํŠธ ์ ์šฉ

* style: lint์ ์šฉ

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ destroy์‹œ bindingํ•ด์ œํ•˜๋„๋ก ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: glide์˜ต์…˜ ๋ณ€๊ฒฝ

- ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€
- url์ด null์ผ ์‹œ ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€

* refactor: viewModel์— custom getter์ถ”๊ฐ€

* fix: ๋‚ด์šฉ์ด ์งง์„ ์‹œ ๋’ท ๋ฐฐ๊ฒฝ์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฐธ์—ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ ํ…์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋‹ค์–‘ํ™” (#52)



* refactor: ๊ณต๋ชจ ์—”ํ‹ฐํ‹ฐ์— currentCount ํ•„๋“œ ์ถ”๊ฐ€ (#55)

* feat: ๋Œ“๊ธ€ ์ž‘์„ฑ API ๊ตฌํ˜„ (#57)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋‚ด ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„



* refactor: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ api ๋ช…์„ธ ๋ณ€๊ฒฝ



---------



* refactor: common ํŒจํ‚ค์ง€๋ช…์„ global๋กœ ๋ณ€๊ฒฝ (#61)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CI ํŒŒ์ผ ์ž‘์„ฑ (#63)

* feat: ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#66)

* chore: build CI ์ž‘์—…์„ ์œ„ํ•œ manifest ํŒŒ์ผ ์ˆ˜์ • (#65)

* chore: ์•Œ๋žŒ ๊ถŒํ•œ ์ถ”๊ฐ€

* chore: local properties ์†์„ฑ ์ถ”๊ฐ€

* chore: local properties null ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* chore: buildConfigField null ์ฒดํฌ

* style: lint ์ ์šฉ

* chore: secret ๊ฐ’ ์„ค์ •

* fix: secret ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋ฌธ๋ฒ• ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ๋ฌธ๋ฒ• ์ˆ˜์ •

* style: lint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#70)

* feat ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ ๋ทฐ ๊ตฌํ˜„ (#72)

* chore: manifest์— CommentDetailActivity ์ถ”๊ฐ€

* feat: BindingAdatper์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘ํž ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ ๋ฐ ํ”ฝ์…€ ๋ณ€ํ™˜

* feat: viewmodel ๊ตฌํ˜„ ๋ฐ click ๋งˆ๋‹ค ์ ‘ํžˆ๊ณ  ํŽด์ง€๋Š” ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: binding adpater์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ฐ ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์„œ๋น„์Šค ๊ณ„์ธต (#78)

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๋Œ“๊ธ€ ์กฐํšŒ (#80)

* feat: ํ™ˆํ™”๋ฉด API ์—ฐ๊ฒฐ (#74)

* refactor: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ data, domain ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* style: lint์ ์šฉ

* style: font ์ ์šฉ

* fix: ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ ์ฟผ๋ฆฌ ์ถ”๊ฐ€ (#83)

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (#87)

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ (#82)

* feat: bottom navigation fragment ์ถ”๊ฐ€

* feat: vector ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ์ด ์—†์œผ๋ฉด "์ฑ„ํŒ… ๋ชฉ๋ก์ด ์—†์–ด์š”" ๋ผ๋Š” ํ…์ŠคํŠธ๋ทฐ์™€ ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ UI ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: ์ค„๋ฐ”๊ฟˆ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ API ์„œ๋น„์Šค ๊ตฌํ˜„

* refactor: API ๋ช…์„ธ์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ˆ˜์ •

* feat: API ์—ฐ๊ฒฐ

* refactor: API๋ช…์„ธ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก API ์—ฐ๊ฒฐ

* refactor: ktlint Format ์ ์šฉ

* refactor: ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด fragment๊ฐ€ destroy ๋  ๋•Œ _binding์„ null๋กœ ์„ค์ •

* refactor: ์–ด๋‹ตํ„ฐ๋ฅผ ๋ฐฉ์–ด์ ๋ณต์‚ฌ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ์ˆ˜์ •

* refactor: ์ฑ„ํŒ…๋ฐฉ์ด ์—†๋‹ค๋Š” ์ด๋ฏธ์ง€๋ทฐ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๋ฐฉ์‹ ์ˆ˜์ •(๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ ์ˆ˜์ •)

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

---------



* feat: ๋Œ“๊ธ€๋ฐฉ ์ ‘ํžˆ๋Š” ๊ณต์ง€ API ์—ฐ๊ฒฐ (#85)

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ data layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ domain layer ๊ตฌํ˜„

* feat: ๋ฏธํŒ… ์ผ์ • API ์—ฐ๊ฒฐ์„ ์œ„ํ•œ presentation layer ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™ ๊ตฌ๋งค ์ œ๋ชฉ databinding ์ ์šฉ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ํŽผ์น˜๊ธฐ ์ ‘๊ธฐ ๋ฒ„ํŠผ ๋กœ์ง ๋ฐ˜๋Œ€๋กœ ์ˆ˜์ •

* style: ktlint ์ ์šฉ

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ url ์ˆ˜์ • (#93)

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#94)

* chore: ๋งˆ์ดํŽ˜์ด์ง€ ๋‹‰๋„ค์ž„ ์ž„์‹œ๋กœ ์ง€์ •

* feat: ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋Œ“๊ธ€๋ฐฉ์œผ๋กœ ๊ฐ€๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‹ ๊ณ ํ•˜๊ธฐ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* style: lint์ ์šฉ

* refactor: ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณต๋ชจ ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋„๋ฉ”์ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#96)

* refactor: ๋กœ๊ทธ์ธ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: JPQL ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ๋ฐ ๋ฉค๋ฒ„๋กœ ๊ณต๋ชจ ์กฐํšŒ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: ์ตœ๊ทผ ๋Œ“๊ธ€ ์‘๋‹ต ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์„œ๋น„์Šค API ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์ž‘์„ฑ api ์—ฐ๊ฒฐ (#95)

* chore: windowSoftInputMode ์ถ”๊ฐ€

* feat: post comment api service ๊ตฌํ˜„

* feat: post comment DataSource ๊ตฌํ˜„

* feat: post comment Repository ๊ตฌํ˜„

* feat: post comment Presentation ๊ตฌํ˜„

* chore: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ (#100)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ž…์žฅ ๊ธฐ๋Šฅ, ๋ณธ์ธ์ด ์ด๋Œ€์ธ ๋ฐฉ์€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#99)

* feat: ๋Œ“๊ธ€๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํด๋ฆญํ•ด ๋Œ“๊ธ€๋ฐฉ ์ƒ์„ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: UIํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: ํด๋ฆญ์‹œ id ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ title๋„ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •

* refactor: ์˜ค์ „/์˜คํ›„์™€ ์‹œ๊ฐ„์„ ํ…์ŠคํŠธ๋ทฐ์— ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ DateTimeFormatter์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: memberId๋ฅผ local.properties์˜ token์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ(์ž„์‹œ ์กฐ์น˜)

* refactor: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์˜ ์‹œ๊ฐ„์„ ๋„์šฐ๋Š” ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ์˜ ์†์„ฑ๋ช…์„ ์ˆ˜์ •ํ•จ

* refactor: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ variable ๋ณ€์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜์ •, ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์•ž์— `on` ๋ถ™์ž„

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ทฐ๋ชจ๋ธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋„๋ก ์ˆ˜์ •(๋น ํŠธ๋ฆฐ๊ฒƒ ์ˆ˜์ •ํ•จ)

* feat: ์ „๋ฐ˜์ ์ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#103)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Comment ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Member ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: OfferingMember ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: Offering ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ƒ์„ธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์—๋Ÿฌ ์ฝ”๋“œ ์ ์šฉ

* feat: ๋„๋ฉ”์ธ ๊ฒ€์ฆ ๋กœ์ง

* feat: DTO ๊ฒ€์ฆ ๋กœ์ง

---------



* feat: swagger์™€ restdocs ์—ฐ๋™ (#104)

* chore: swagger ui ์ •์  ํŒŒ์ผ ์„ค์น˜ ๋ฐ static routing ์„ธํŒ…

* chore: restdocs-api-spec์„ ์ด์šฉํ•œ OAS ์ƒ์„ฑ

* chore: swagger ui ์ •์  ํŒŒ์ผ์„ swagger-ui ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* chore: swagger ui ์ •์  ํŒŒ์ผ ๋ฐ static routing ์„ธํŒ… ์ œ๊ฑฐ

* chore: ์ƒ์„ฑ๋œ OAS ํŒŒ์ผ์„ Swagger ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: openapi3 yaml ํŒŒ์ผ gitignore ์ฒ˜๋ฆฌ

* chore: static routing ์„ธํŒ… ๋‹ค์‹œ ์ถ”๊ฐ€

openapi3.yaml์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

* test: RestAssured RestDocs ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ผ์ • ์กฐํšŒ API ๋ฐ ๊ณต๋ชจ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* test: ๋Œ“๊ธ€ ๊ด€๋ จ API ๋ฌธ์„œํ™”

* docs: ๋…ผ์˜๋œ TODO ์ œ๊ฑฐ

* refactor: swagger ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore: ๊ฐœ๋ฐœ API ์„œ๋ฒ„ ๋ชฉ๋ก ์„ค์ •

---------



* refactor: ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ (#108)

* fix: restdocs ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์ด์Šˆ ํ•ด๊ฒฐ (#106)

* chore: cicd ํ…Œ์ŠคํŠธ

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•ด actions ๋ฒ”์œ„ ์กฐ์ •

* chore: ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ๋„์–ด์“ฐ๊ธฐ ์˜คํƒ€ ์ˆ˜์ •

* chore: ๋นŒ๋“œ ์บ์‹ฑ ์ œ๊ฑฐ

* chore: logging

* chore: --warning-mode all ์˜ต์…˜ ์ค˜์„œ gradle ํ˜ธํ™˜ ๋ฌด์‹œํ•˜๋„๋ก ์„ค์ •

* fix: status ๋‹ฌ๋ผ์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์ˆ˜์ •

* chore: action ๋ฒ”์œ„ ์ˆ˜์ •

* chore: test์šฉ static ํŒŒ์ผ ์ถ”๊ฐ€

* chore: static ํ•˜์œ„ ํด๋”๋ฅผ jar ํŒŒ์ผ์— ํฌํ•จํ•˜๋„๋ก ์„ค์ •

* chore: swagger-ui ํ•˜์œ„ ํด๋” ์ œ๊ฑฐ

* chore: task ์ˆœ์„œ ์กฐ์ •

* chore: build ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์„ค์ • ๋ณ€๊ฒฝ ์ œ๊ฑฐ

* chore: clean build ๋Œ€์‹  clean bootJar ์‚ฌ์šฉ

* chore: clean, build ๊ฐ๊ฐ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* chore: test ๊นŒ์ง€ ๋‘ ๋ฒˆ ๋Œ๋ฆฌ๋„๋ก ์ˆ˜์ •

* chore: openapi3๊นŒ์ง€ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: copyOasToSwagger ๊นŒ์ง€ ๋‘๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* chore: actions ํ™œ์„ฑํ™” ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์ฐธ์—ฌ์ž ์ˆ˜ ์กฐ๊ฑด ์ถ”๊ฐ€ (#111)

* fix: ๋Œ“๊ธ€๋ฐฉ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ˆ˜์ • (#113)

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#109)

* build: pagination๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ํ™ˆ ํ™”๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ • (#115)

* fix: ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ response๋ฅผ nullableํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋Œ“๊ธ€ ์กฐํšŒ api ์—ฐ๊ฒฐ (#116)

* feat: dto ๋ฐ mapper ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก repository ๋ฐ model ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก view type์„ ํ™œ์šฉํ•œ recyclerview ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* feat: polling ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์Šคํฌ๋กค ๊ตฌํ˜„ (์ƒˆ๋กœ์šด ๋Œ“๊ธ€์ด ์ƒ๊ธธ์‹œ ์Šคํฌ๋กค ์•„๋ž˜๋กœ)

* feat: ์ด๋Œ€์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ๋ณ„ ๊ด€๋ฆฌ (#117)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” enum class ๊ตฌํ˜„

* feat: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋™ ๊ตฌ๋งค ์ƒํƒœ ๋ทฐ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ž„์‹œ ์ˆ˜์ • (#119)

* fix: ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#120)

* refactor: ๋„ค์ด๋ฐ ์ˆ˜์ • (#123)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ (#125)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (#130)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ ๋™๋ฐ˜๊ฐ์ฒด๋กœ ์ด๋™

* style: lint์ ์šฉ

* refactor: Service๋ถ„๋ฆฌ (#132)

* refactor: service๋ถ„๋ฆฌ

* refactor: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ UI ๊ตฌํ˜„ (#134)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๊ตฌํ˜„

* fix: ๋ทฐ ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

* fix: @+id๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •

* fix: drawable์˜ ๋„ค์ด๋ฐ์— where์„ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„  (#136)

* feat: ์ฐธ์—ฌ์ž ๋ชฉ๋ก drawer์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ฑ„ํŒ… text gravity ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก Drawer Layout UI ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: drawer early return ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ivMore -> ivMoreOptions์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* feat: ๊ณต๊ตฌ ์ฐธ์—ฌ์ž item view ๋ฐ ๋Œ“๊ธ€๋ฐฉ view ์‚ฌ์šฉ์ž ์นœํ™”์ ์œผ๋กœ ์ˆ˜์ •

* chore: CI ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ค‘ ์ค‘๋ณต๋˜๋Š” task ์ œ๊ฑฐํ•ด ์„ฑ๋Šฅ ๊ฐœ์„  (#128)

* chore: jar๏ฟฝํƒœ์Šคํฌ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  bootJar ํƒœ์Šคํฌ๋กœ๋งŒ JAR ํŒŒ์ผ ์ƒ์„ฑ

* chore: cicd ๋ฒ”์œ„ ์กฐ์ •

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„ (#139)

* feat: ๊ณต๋ชจ ์ž‘์„ฑ API ๊ตฌํ˜„



* refactor: create๋ฅผ save๋กœ ๋ณ€๊ฒฝ



* refactor: dto entity ๋งคํ•‘๋กœ์ง์„ dto๋กœ ์ด๋™



* refactor: controller request ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ช… ์ปจ๋ฒค์…˜ ์ ์šฉ



---------



* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™” (#141)

* refactor: ๊ณต๋ชจ์— ์ €์žฅํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ ๊ตฌ์ฒดํ™”



* chore: github-action ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •



* chore: CI/CD test ์„ค์ • ์ถ”๊ฐ€



* chore: static/swagger-ui ํด๋” ์ถ”๊ฐ€



* chore: ์„ค์ • ์›์ƒ ๋ณต๊ตฌ



* chore: ci/cd ๋ฒ”์œ„ ์ˆ˜์ •



---------



* feat: ํ™ˆํ™”๋ฉด(๊ณต๋ชจ๋ชฉ๋ก) UI ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋Œ€์‘ (#142)

* feat: ๊ณต๋ชจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋„๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ui๋ณ€๊ฒฝ

* feat: ํ•„ํ„ฐ ui์ถ”๊ฐ€

* feat: API๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ DTO์ˆ˜์ •

* style: lint์ ์šฉ

* feat: resource์ถ”๊ฐ€

* refactor: ui์œ„์น˜ ์ˆ˜์ •

* chore: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: item ์ˆ˜์ง ์ •๋ ฌ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ฉ”์‹œ์ง€ ์กฐํšŒ ์‹œ commentId ํ•„๋“œ ์ถ”๊ฐ€ (#150)



* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„ (#148)

* feat: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ๊ตฌํ˜„



* refactor: OG ํƒœ๊ทธ ํฌ๋กค๋ง API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ •



---------



* refactor: ์ œํ’ˆ ์ฝ”๋“œ์™€ API ๋ฌธ์„œ ๋™๊ธฐํ™” (#153)

* refactor: API ๋ฌธ์„œ ๊ฐœ์„  (#157)

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ



* refactor: ์š”์ฒญ ํ•„์ˆ˜ ์ƒํƒœ ์„ค๋ช… ์ถ”๊ฐ€



---------



* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„ (#147)

* feat: s3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* chore: cicd ์•ก์…˜ ๋ฒ”์œ„ ์ˆ˜์ •

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ฒฝ๋กœ์˜ ํŠน์ˆ˜๋ฌธ์ž ์ œ๊ฑฐ

* chore: yml multipart ์„ค์ • ์ถ”๊ฐ€

* chore: S3 ์—…๋กœ๋“œ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ

* fix: inputstream ๋ณ€ํ™˜๋กœ์ง ์œ„์น˜ ์ด๋™

* fix: ์—…๋กœ๋“œํ•  s3 path ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •

* fix: ์‚ฌ์ง„ url ์†์— ๋ฒ„ํ‚ท์ด๋ฆ„์„ cloudfront ๋„๋ฉ”์ธ์œผ๋กœ ์ˆ˜์ •

* chore: actions ๋ฒ”์œ„ ์žฌ์กฐ์ •

* feat: API endpoint ๋ณ€๊ฒฝ

* chore: docker image ์ง€์šฐ๋Š” ์ž‘์—…์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

* chore: ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ด์ „ ์ปค๋ฐ‹ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐ

* chore: ์ถฉ๋Œ ํ•ด๊ฒฐ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* test: S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์„ฑ๊ณต ์ผ€์ด์Šค ์ถ”๊ฐ€

* test: multipart form data ๋ฌธ์„œํ™”

* test: ๊ณต๋ชจ ์ƒํƒœ enum ๋ฌธ์„œํ™”



* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ํฌ๊ธฐ ์ œํ•œ 100MB์—์„œ 20MB๋กœ ๋ณ€๊ฒฝ

---------




* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ตฌํ˜„ (#161)

* refactor: ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์ ์šฉ

* build: webview ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* feat: ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œ„ํ•œ htmlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ

* feat: ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: lint์ ์šฉ

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* build: Firebase์˜์กด์„ฑ ์ถ”๊ฐ€ (#165)

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ (#162)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ API ์—ฐ๊ฒฐ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ๋ทฐ๋ชจ๋ธ ๊ตฌํ˜„

* fix: edit text ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MutableLiveData default๊ฐ’ ๋„ฃ์–ด๋‘ 

* chore: deadline defualt๊ฐ’ ํ˜•์‹์— ๋งž๊ฒŒ ์ˆ˜์ •

* feat: ๊ธ€์ž‘์„ฑ ํ™”๋ฉด์„ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ๋ชฉ์ ์ด์—ˆ๋˜ ์ฃผ์„๊ณผ mutable livedata ๋””ํดํŠธ๊ฐ’ ์ œ๊ฑฐ

* refactor: ์ž„์‹œ ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* fix: ๊ธ€์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ์˜ฌ๋ผ์˜ค๊ธฐ ์ „์— ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* feat: ํ•„์ˆ˜ ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜์–ด์•ผ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ฐ€๊ฒฉ, ์ด์› ์ž…๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ์„ ์‹œ ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์•„์ด์ฝ˜ ๋ณ€๊ฒฝ

* feat: ์•ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ(chongdae -> ์ด๋Œ€๋งˆ์ผ“)

* feat: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ์˜ˆ์ƒ ์—”๋นต ๊ฐ€๊ฒฉ์— ,๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฝœ๋ก  ๋’ค white space ์ถ”๊ฐ€

* feat: ๊ณต๊ตฌ ํ• ์ธ์œจ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: +, - ๋ฒ„ํŠผ์œผ๋กœ ์ด์›์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ํ• ์ธ์œจ๊ณผ ์—”๋นต๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ์‹œ 0์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ์ƒํ™ฉ์„ ์ œ๊ฑฐ

* fix: ๋งž์ถค๋ฒ• ์ˆ˜์ • ํ• ์ธ๋ฅ  -> ํ• ์ธ์œจ

* fix: ์ด์› ๋ฒ„ํŠผ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ™•๋Œ€

* fix: ํ•ญ๋ชฉ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์ข์•„์„œ ํ™•๋Œ€

* refactor: Offering Write์˜ API service, DataSource, Repository๋ฅผ Offerings์™€ ํ•ฉ์นจ

* refactor: ๋””๋ฒ„๊น…์šฉ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ selector์™€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๊ตฌํ˜„

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  ๋ทฐ๋ชจ๋ธ์ด visibility ์ƒํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ”์ธ๋”ฉ์–ด๋Œ‘ํ„ฐ ๋Œ€์‹  xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ด์› ๋””ํดํŠธ ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๊ฐ’ ์ƒ์ˆ˜ํ™”

* refactor: +, - ํ…์ŠคํŠธ๋ทฐ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •

* refactor: textStyle bold๋Œ€์‹  fontFamily suit_bold๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ๋’ค์— Int๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ ๋Œ€์‹  Value๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •

* refactor: ๊ธ€์ž‘์„ฑ ์ œ์ถœ ๋ฒ„ํŠผ์˜ ์•„์ด๋””๋ฅผ ์ถ”๊ฐ€

* refactor: ktFormat

* refactor: ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๋Š” ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* refactor: ๋„๋ฉ”์ธ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* refactor: UI๋ชจ๋ธ ์ ์šฉ

* refactor: ktFormat ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋””ํ…Œ์ผ Room์„ ์‚ฌ์šฉํ•˜์—ฌ data ์ €์žฅ (#166)

* feat: local database ๊ตฌํ˜„

* feat: entity ๊ตฌํ˜„

* feat: dao ๊ตฌํ˜„

* feat: LocalDataSourceImpl ๊ตฌํ˜„

* feat: entity mapper ๊ตฌํ˜„

* refactor: CommentResponse ์— id ๊ฐ’ ์ถ”๊ฐ€

* refactor: datasource ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: article -> offering์œผ๋กœ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: repository ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ˆ˜์ •

* refactor: datasource ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ๋ฐ local ๊ณผ remote ๋ถ„๋ฆฌ

* refactor: repository Application ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ฃผ์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* refactor: api service ๋ฆฌ๋„ค์ด๋ฐ

* refactor: git conflict ํ•ด๊ฒฐ

* refactor: ํ•จ์ˆ˜ ์ด๋ฆ„ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ณ€๊ฒฝ (getMeetings -> fetchMeetings)

* chore: CI ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#173)

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* chore: ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* fix: og ํƒœ๊ทธ ์ถ”์ถœ ์‹œ ํฌ๋กค๋ง ์ด์Šˆ ํ•ด๊ฒฐ (#174)

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ฃผ์†Œ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ (#171)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ง‘๋งˆ๊ฐ ์‹œ๊ฐ„ ํด๋ฆญ ์‹œ date time picker๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์—ฐ๊ฒฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •, ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* refactor: string์œผ๋กœ ๋ถ„๋ฆฌ, ์ƒ์ˆ˜ํ™”

* fix: string ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •3

* chore: CI workflow ํŒŒ์ผ ์ˆ˜์ •4

* feat: ๊ณต๋ชจ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์„ ์‹œ "๊ณต๋ชจ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์–ด์š”!" ๋ผ๋Š” ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด ์ค‘์•™์— ๋œจ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* refactor: xml ๋ทฐ id ์ˆ˜์ •

* refactor: ๋ฒ„ํŠผ์ด TextView์ธ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” data binding variable ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ, dateTimePickerBinding ์ „์—ญ์œผ๋กœ ์„ ์–ธ

* refactor: dateTimePicker ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ƒํ™” ํ•ด xml์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ktFormat

* feat: ์ƒํ’ˆ URL ์ด๋ฏธ์ง€ ์ถ”์ถœ API ์—ฐ๊ฒฐ (#180)

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: api service ๊ตฌํ˜„

* feat: datasource ๊ตฌํ˜„

* refactor: repository ๋„ค์ด๋ฐ ์ˆ˜์ • (offeringsRepository -> offeringRepository)

* feat: ์‚ฌ์ง„ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ถ”๊ฐ€

* feat: repository ๋ฐ model ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ํ†ตํ•œ ํฌ๋กค๋ง ์ด๋ฏธ์ง€ ๋ถˆ๋Ÿฌ์˜ค๋Š” api ์—ฐ๊ฒฐ ๋ฐ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* refactor: ์ด๋ฏธ์ง€ prefix ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: build ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: git conflict ํ•ด๊ฒฐ

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์— ํ•„ํ„ฐ๋ง๊ณผ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#169)

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API ํ…Œ์ŠคํŠธ

* style: ๊ฐœํ–‰ ํ˜•์‹ ํ†ต์ผ

* feat: ๊ณต๋ชจ ํ•„ํ„ฐ ๋ชฉ๋ก ์กฐํšŒ API Specification ๋„์ž… ์ค€๋น„

* fix: url์— ํฐ๋”ฐ์›€ํ‘œ ์ œ๊ฑฐ

* feat: Specification ๋„์ž…

* refactor: queryString ๊ตฌ์ฒดํ™”

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ์ตœ์‹ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* feat: ๋†’์€ํ• ์ธ๋ฅ ์ˆœ ํ•„ํ„ฐ๋ง ์ ์šฉ

* refactor: ์ „๋žต ํŒจํ„ด ์ ์šฉํ•ด ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ๋ถ„๊ธฐ๋ฌธ๊ณผ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ฒ˜๋ฆฌ

* test: ๋ณ€๊ฒฝ๋œ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ฌธ์„œํ™” ์ž‘์—…

* refactor: ๊ด€๋ จ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋ผ๋ฆฌ ๋ชจ์ด๊ฒŒ ์ˆœ์„œ ์žฌ๋ฐฐ์น˜

* refactor: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

---------



* feat: ์ƒํƒœ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (#175)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋ฐ ์กฐํšŒ API ๊ตฌํ˜„



* feat: ๊ณต๋ชจ๊ธ€ ์ƒํƒœ ์กฐํšŒ API ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ์ค‘ ์ˆ˜๋™ ํ™•์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ƒํƒœ ๋ณ€๊ฒฝ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ์ถ”์ƒ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ์ปจ๋ฒค์…˜ ํ†ต์ผ

* refactor: errorCode ์‚ฌ์šฉ ์‹œ ํด๋ž˜์Šค ๋ช…์‹œ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๊ด€๋ จ API ์—”๋“œํฌ์ธํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ API HTTP ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: ๊ณต๋ชจ ๋ชจ์ง‘ ์ž๋™ ํ™•์ • ์‹œ ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ

---------




* feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#177)

* feat: password ์ผ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: cookie ์ƒ์‚ฐ-์†Œ๋น„ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: jwt ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ API ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ

* feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„

* test: ํšŒ์›๊ฐ€์ž… API ํ…Œ์ŠคํŠธ

* feat: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋‹‰๋„ค์ž„ ์ƒ์„ฑ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

* fix: postconstruct ์—ฌ๋Ÿฌ ๊ฐœ๋ผ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ํšŒ์›๊ฐ€์ž… ์‘๋‹ต๊ฐ’์— ๋žœ๋ค์ƒ์„ฑํ•œ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

* feat: MemberArgumentResolver ๊ตฌํ˜„

* feat: MemberArgumentResolver ์ผ๋ถ€ ์ ์šฉ

* test: ๋ฐ”๋€ ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* test: TestConfig ์„ค์ •ํ•ด ๋นˆ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test: ๊ณต๋ชจ ์ž‘์„ฑ API๋กœ MemberArgumentResolver ์‚ฌ์šฉ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ๊ตฌํ˜„

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ํ…Œ์ŠคํŠธ

* test: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API ์—๋Ÿฌ ํ…Œ์ŠคํŠธ

* feat: MemberArgumentResolver commant์— ์ ์šฉ

* feat: MemberArgumentResolver offering์— ์ ์šฉ

* feat: MemberArgumentResolver participant์— ์ ์šฉ

* refactor: ci๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€ ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

* refactor: ํด๋ž˜์Šค๋ช… ์ผ๊ด€์ ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ง๊ด€์ ์ธ ๋ช…๋ช…์œผ๋กœ enum ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: Custom Exception ์ ์šฉ

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผ์ œ์–ด์ž ๋ช…์‹œ

* fix: ์ค‘๋ณต๋œ enum ๊ฐ’ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

---------



* fix: nicknameWordInitializer ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#182)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ ๋ฐ docs์—์„œ required ์ œ๊ฑฐ (#184)

* fix: keyword null์ผ ๋•Œ ์ฒ˜๋ฆฌ

* test: optional() ๋ถ™์—ฌ์„œ required ์ œ๊ฑฐ

* chore: ๋ธŒ๋žœ์น˜์— ์ƒ๊ด€์—†์ด pr ๋จธ์ง€ ์‹œ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์ด์Šˆ ๋‹ซ๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„ (#187)

* fix: og ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํฌ๋กค๋ง ๋ฌธ์ œ ํ•ด๊ฒฐ (#190)

* refactor: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋„๋ฉ”์ธ ์„ค๊ณ„ ๋ณ€๊ฒฝ (#189)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก API ์‘๋‹ต๊ฐ’์— ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ถ”๊ฐ€ (#193)

* chore: readtimeout 5์ดˆ๋กœ ์ˆ˜์ • (#195)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ์ƒํƒœ๋ณ„ ์ด๋ฏธ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ (#196)

* feat: ๊ณต๋ชจ ๋ชฉ๋ก ์กฐํšŒ API์—ฐ๊ฒฐ (#201)

* refactor: Condition ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ชฉ๋ก ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* feat: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ์ฐธ์—ฌ ๊ฐ€๋Šฅ์€ ์„œ๋ฒ„ ์—๋Ÿฌ๋กœ ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

* feat: ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ recyclerview์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง ์ˆ˜ํ–‰ ํ›„ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™

* feat: ํ•„ํ„ฐ๋ง ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๋Š” api์—ฐ๊ฒฐ

* feat: ๋งˆ๊ฐ์ž„๋ฐ• ์ƒํƒœ ์ถ”๊ฐ€

* refactor: default parameter์ œ๊ฑฐ

* style: lint์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ cookie๊ฐ€ ์•„๋‹Œ body ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ  (#206)

* feat: ๋ฐœ๊ธ‰ํ•œ ํ† ํฐ์„ header๊ฐ€ ์•„๋‹Œ body๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ์•ˆํ•˜๋Š” ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* test: ๋ฐ”๋€ API ์ŠคํŽ™์— ๋งž๊ฒŒ ๋ช…์„ธ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋ฐ ๋ถ€์ •ํ™•ํ•œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#207)

* refactor: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ์‹œ ์ด๋Œ€ ์ฐธ์—ฌ์ž ์ถ”๊ฐ€ (#208)

* feat: ๋ฐ”ํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ณ ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#211)

* feat: ๋ฐ์ดํ„ฐ์—์„œ 5์ž ์ด์ƒ ์ œ๊ฑฐ (#212)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ (#202)

* feat: n๋นต ๊ฐ€๊ฒฉ์ด ๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๋‚ฑ๊ฐœ๊ฐ€๊ฒฉ -> ์›๊ฐ€๊ฒฉ)

* refactor: ๋„๋ฉ”์ธ ๋ช…์นญ ๋ณ€๊ฒฝ (๊ณต๋ชจ -> ๋Œ“๊ธ€๋ฐฉ)

* refactor: originPrice๋กœ http client ๋ณ€๊ฒฝ

* feat: ํ‚ค๋ณด๋“œ ์ด์™ธ ์˜์—ญ ํ„ฐ์น˜ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„ (#214)

* feat: ํ‚ค๋ณด๋“œ์™ธ ํ™”๋ฉด ํด๋ฆญ ์‹œ ํ‚ค๋ณด๋“œ ๋‚ด๋ ค๊ฐ€๋„๋ก ๊ตฌํ˜„

* refactor: api๋ณ€๊ฒฝ์— ๋‹ค๋ฅธ dto์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๊ถŒํ•œ ์„ค์ • (#216)

* chore: ์ด๋ฏธ์ง€ ๊ถŒํ•œ ์ถ”๊ฐ€

* feat: permission manager์„ ์ƒ์„ฑํ•˜์—ฌ ๊ถŒํ•œ ์ฒดํฌ ๋ฐ request

* feat: ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ๊ถŒํ•œ ์„ค์ • ์—ฐ๊ฒฐ

* feat: ์ด๋ฏธ์ง€ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ uri ์ „๋‹ฌ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ api service ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ data source ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ repository ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ martipart๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ด€๋ จ ๋ทฐ ์ˆ˜์ •

* feat: ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint format

* fix: git conflict ํ•ด๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ scaleType ๋ณ€๊ฒฝ

* refactor: string value ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: ํ† ํฐ ๋ฐ˜ํ™˜ ์‹œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›์ƒ๋ณต๊ตฌ (#223)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ requestHeader๋กœ refreshToken ๋ฐ›๋„๋ก ์ˆ˜์ • (#227)

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ API์—์„œ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* feat: ํšŒ์›๊ฐ€์ž… API๋„ body๊ฐ€ ์•„๋‹Œ cookie๋กœ ํ† ํฐ ๋ฐ˜ํ™˜

* refactor: service ์šฉ dto ๋ช… ์ปจ๋ฒค์…˜์— ๋งž์ถฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„ (#226)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ผ์ • ์ˆ˜์ • API ๊ตฌํ˜„

* test: ์ด๋Œ€๊ฐ€ ์•„๋‹Œ ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๋ชจ ์ผ์ • ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ ์‹œ ๋ฒ„ํŠผ ํ…์ŠคํŠธ ์ถ”๊ฐ€ (#229)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#222)

* feat: ๊ฒ€์ƒ‰ ์‹œ ํ•ด๋‹น ํ‚ค์›Œ๋“œ์˜ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: lint์ ์šฉ

* Feature/217 offering status (#230)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ model ๋ฐ dto ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ datasource ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ์กฐํšŒ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ (#231)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api service ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* Revert "feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„"

This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217.

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ data source ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ repository ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ api ์—ฐ๊ฒฐ ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* feature: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#235)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#225)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„

* test: ์‹คํŒจ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ๋„์–ด์“ฐ๊ธฐ ์ ์šฉ

* refactor: MemberEntity๋ฅผ ๋ฐ›๋„๋ก ๋ณ€๊ฒฝ

* refactor: isParticipant๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ์ด๋Œ€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์˜ ์˜ˆ์™ธ ์ถ”๊ฐ€

* refactor: ์ฐธ์—ฌ ๊ฒ€์ฆ๋กœ์ง์„ ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ฒ€์ฆ ๋กœ์ง ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜

* refactor: ์ด๋Œ€ ์ถ”์ถœ ๋กœ์ง ์ˆ˜์ •

---------




* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์กฐ๊ฑด ์ˆ˜์ • (#239)

* refactor: ๋งˆ๊ฐ์ž„๋ฐ•์ˆœ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ์ˆ˜์ •

* refactor: ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ„ ์ˆ˜์ •

* fix: ํ•„ํ„ฐ๋ง ์˜ค๋ฅ˜ ์ˆ˜์ • (#243)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#247)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#245)

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ view ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ Listener ๊ตฌํ˜„

* feat: ๊ณต๋™๊ตฌ๋งค ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์—ฐ๊ฒฐ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ๋กœ์ง ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… (#255)

* feat: CoroutinesTestExtension ๊ตฌํ˜„

* feat: Livedata getOrAwaitValue ๊ตฌํ˜„

* feat: InstantTaskExecutorExtension ๊ตฌํ˜„

* feat: TestFixture ์ƒ์„ฑ

* style: ktlint ์ ์šฉ

* feat: ๊ณต๋ชจ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด UI ๊ฐœ์„ , ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ์—์„œ ๋‚ฑ๊ฐœ ๊ธˆ์•ก์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ €๋ ดํ•  ์‹œ ๊ธ€ ์ž‘์„ฑ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#246)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ดˆ๊ธฐ ์„ค์ •

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ - ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

* refactor: ํ•จ์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ํ•„์š” ์—†๋Š” ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŒจํ‚ค์ง€ ์ด๋™

* feat: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์— memberId, nickName ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ post ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์ธ ์‹œ๋„ ํ›„ ์‹คํŒจํ•  ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋ฐ”๋€ auth api ์ ์šฉ

* feat: ์„œ๊ธฐ pr ์ถฉ๋Œ ํ•ด๊ฒฐ

* fix: api ํ•„๋“œ๋ช… ์ˆ˜์ •

* refactor: ktFormat ์ ์šฉ

* fix: ํ…Œ์ŠคํŠธ์šฉ ์ž„์˜ ๋ฌธ์ž์—ด ์ œ๊ฑฐ

* feat: CookieJar ๊ตฌํ˜„

* feat: API ์ˆ˜์ •์— ๋งž์ถฐ ์„œ๋น„์Šค ํ•จ์ˆ˜ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: http ์ƒํƒœ ์ฝ”๋“œ enum ํด๋ž˜์Šค๋กœ ๋ฌถ์Œ

* fix: ๊ตฌ๋ถ„์„ ์„ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์˜ ํ•˜๋‹จ์— ๋„ฃ๊ณ  ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ทฐ์˜ "์ฑ„ํŒ…" ํ…์ŠคํŠธ ๋ฐ‘์— ํ•˜๋‚˜ ์ถ”๊ฐ€

* fix: ํ…์ŠคํŠธ๋ทฐ์— font ์ ์šฉ, ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€ ์‹œ๊ฐ„ ํ…์ŠคํŠธ๋ฅผ ์กฐ๊ธˆ ์™ผ์ชฝ์œผ๋กœ ์ด๋™

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ ์ด๋ฆ„์„ eachPrice -> originPrice ์ˆ˜์ •

* fix: ๋‚ฑ๊ฐœ ๊ฐ€๊ฒฉ์ด ์—”๋นต ๊ฐ€๊ฒฉ๋ณด๋‹ค ์‹ธ๋ฉด ํ† ์ŠคํŠธ๋ฅผ ๋„์šฐ๊ณ  ๊ธ€์ž‘์„ฑ์„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋„ค์ดํ‹ฐ๋ธŒ์•ฑํ‚ค ๋กœ์ปฌํ”„๋กœํผํ‹ฐ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์•กํ‹ฐ๋น„ํ‹ฐ ์ „ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์‚ญ์ œ

* refactor: ํŒจํ‚ค์ง€ ์ˆ˜์ •

* refactor: alsong ๋กœ๊ทธ ์ˆ˜์ •

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: Manifest์˜ ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ ํ‚ค ์ˆจ๊น€

* refactor: ๋กœ์ปฌํ”„๋กœํผํ‹ฐ์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ˆ˜์ •

* Update android.yml

* refactor: alsong ๋กœ๊ทธ ์‚ญ์ œ

* ci ๋นŒ๋“œ ์‹คํŒจ๊ฐ€ manifest๋•Œ๋ฌธ์ธ์ง€ ํ…Œ์ŠคํŠธ

* refactor: ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์•ฑ ํ‚ค ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” gradle ์„ค์ • ์ˆ˜์ •

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ˆ˜์ •ํ•˜๊ณ  ์žฌํ…Œ์ŠคํŠธ

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •2

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •3

* chore: ๊ทธ๋ž˜๋“ค ์ˆ˜์ •4

* chore: ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ์™ธ

* feat: ํ™ˆํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#257)

* chore: mockk์˜์กด์„ฑ ์ถ”๊ฐ€

* test: OfferingViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: lint์ ์šฉ

* refactor: stub๋ฅผ TestFixture๋กœ ์ด๋™

* test: ๋Œ“๊ธ€๋ฐฉ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ  (#258)

* refactor: ๋Œ“๊ธ€ ๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ๊ณต๊ตฌ ์•ฝ์† ์žฅ์†Œ ๋ฐ ์‹œ๊ฐ„ ์บ์‹œ ๊ธฐ๋Šฅ

* test: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ fake repository ๊ตฌํ˜„

* test: ๋Œ“๊ธ€๋ฐฉ viewmodel test ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€๋ฐฉ ActivityTest ์ž‘์„ฑ

* style: ktlint ์ ์šฉ

* refactor: test fixture์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ์‚ญ์ œ

* style: ktlint ์ ์šฉ

* feat: GA ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๋กœ๊น… ์ „๋žต ์ ์šฉ (#242)

* chore: Firebase Crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: Firebase ์ดˆ๊ธฐํ™”

* feat: FirebaseManager ๊ตฌํ˜„

* feat: ์ด๋Œ€๊ฐ€ ๊ณต๊ตฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ event ์ถ”๊ฐ€

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ๊ฒ€์ƒ‰
- ํ•„ํ„ฐ๋ง
- ๊ณต๋ชจ๊ธ€ ํด๋ฆญ
- ๊ณต๋ชจ ์ฐธ์—ฌ

* style: lint์ ์šฉ

* feat: ๊ธ€ ์ž‘์„ฑ ์™„๋ฃŒ ์‹œ event ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์‹œ event ์ถ”๊ฐ€

---------




* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ์ด๋ฏธ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#260)

* refactor: ์ƒ์ˆ˜ ๊ฐ€์‹œ์„ฑ ๋ณ€๊ฒฝ

* feat: test fixture ๊ตฌํ˜„

* feat: fake repository ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: OfferingWriteViewModelTest ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ test ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๋กœ๊ทธ์ธ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด๋„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#261)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊ทธ์ธ ํ›„ LoginActivity๊ฐ€ ์ข…๋ฃŒ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#264)

* feat: OfferingDetailViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: lint์ ์šฉ

* style: lint์ ์šฉ

* feat: ๋กœ๊น… ์ฝ”๋“œ ์‚ฝ์ž… (#266)

* fix: ์› ๊ฐ€๊ฒฉ์ด ์—†๋Š” ๊ฒฝ์šฐ n๋นต ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ

* feature: ๋กœ๊น… ์ƒ˜ํ”Œ ๊ตฌํ˜„

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: logging ์ ์šฉ

---------



* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ํ•„ํ„ฐ๋ง ์ฟผ๋ฆฌ ์ˆ˜์ • (#267)

* chore: logback ์„ค์ • ์ง„ํ–‰ (#270)

* chore: logback ์„ค์ •

* fix: multipart ์š”์ฒญ ํ•„ํ„ฐ๋ง

* chore: logback ์„ค์ • ๋ณ€๊ฒฝ

* chore: pull request ci/cd ๋‹ซ๊ธฐ

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ responseBody๊ฐ€ ๋‘ ๋ฒˆ ๋œจ๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#273)

* fix: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API ๋‘ ๋ฒˆ ๋„๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* test: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ API์˜ ๋ˆ„๋ฝ๋œ response field ์ถ”๊ฐ€

* refactor: ํ™ˆํ™”๋ฉด ์ˆ˜์ • (#271)

* refactor: ํ• ์ธ์œจ ๋งˆ์ง„ ์ถ”๊ฐ€

* refactor: ๊ณต๊ตฌ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฌธ๊ตฌ ์ˆ˜์ •

* refactor: ํด๋ฆญ ์‹œ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„ํŠผ ๊ตฌํ˜„

* feat: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#274)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๊ณต๋ชจ๊ธ€ ์ž‘์„ฑ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ (#276)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* test: "๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค" ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: pageSize validation ์ถ”๊ฐ€ (#279)

* feat: pageSize validation ์ถ”๊ฐ€

* feat: magic number ์ถ”์ถœ

* fix: ๊ณต๋ชจ ์ƒ์„ธ ํ™”๋ฉด ์˜ค๋ฅ˜ ์ˆ˜์ • (#280)

* fix: ์ด๋Œ€ ์—ฌ๋ถ€ ํ™•์ธ ๋กœ์ง ์ˆ˜์ •

* fix: ๋งˆ๊ฐ ์ž„๋ฐ• ์‹œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„ํŠผ ์ˆ˜์ •

* fix: ๊ณต๋ชจ ์ž‘์„ฑ ํ›„ ํ™ˆํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™”์„ ๋–„ ๋ชฉ๋ก์ด ์ƒˆ๋กœ๊ณ ์นจ ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก ํ™”๋ฉด ์ž๋™ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํšŒ์›๊ฐ€์ž… ์ดํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#282)

* refactor: ๋ทฐ๋ชจ๋ธ ํŒฉํ† ๋ฆฌ๋ฅผ ๋ทฐ๋ชจ๋ธ์˜ companion object์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* fix: ๋ผ์ดํ”Œ์‚ฌ์ดํด ์˜ค๋„ˆ ์„ค์ •

* fix: ํšŒ์›๊ฐ€์ž… ํ›„ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋„๋ก ์ˆ˜์ •

* chore: change version name (#291)

* feat: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ CI๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#296)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#298)

* fix: ci๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •(์˜คํƒ€์ˆ˜์ •..)

* fix: ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: SimpleCookieJar์˜ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ(presentation ๋ ˆ์ด์–ด์—์„œ data๋ ˆ์ด์–ด์˜ source ํŒจํ‚ค์ง€๋กœ ์ด๋™)

* refactor: data store๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ๊ณผ ์ฃผ์„ ์ œ๊ฑฐ

* refactor: http status code ์ถ”๊ฐ€

* refactor: ํ•จ์ˆ˜๋ถ„๋ฆฌ

* refactor: ktFormat ์ ์šฉ

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentRooms)

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(CommentDetail), ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋œ memberId ์ œ๊ฑฐ

* refactor: ktFormat ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ˆ˜์ •

* refactor: Preferences -> DataStore ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ์ฑ„ํŒ…๋ฐฉ UI UX ๊ฐœ์„   (#303)

* feat: ํ‚ค๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์˜์—ญ์„ ํด๋ฆญํ•˜๋ฉด ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋’ค๋กœ๊ฐ€๋Š” ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ maxLines ์„ค์ • ๋ฐ maxLength ์„ค์ •

* style: ktlint ์ ์šฉ

* ํ•„์š” ์—†๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€๋ฐฉ ๋ชฉ๋ก์—์„œ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ์˜ UI ๊ฐœ์„  (#304)

* refactor: ๋Œ“๊ธ€๋ฐฉ์˜ ์ž์‹ ์ด ์ด๋Œ€์ธ ๋Œ“๊ธ€๋ฐฉ ui ๊ฐœ์„ 

* fix: Binding ํด๋ž˜์Šค ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๊ฐ€๋กœ๋ชจ๋“œ, ๋‹คํฌ๋ชจ๋“œ ์„ค์ • (#305)

* refactor: api๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฆฌํŒฉํ† ๋ง (#310)

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•ด์ƒ๋„ ๋Œ€์‘ (#313)

* feat: ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ค‘์ผ ๋•Œ ๋กœ๋”ฉ ์ƒํƒœ ์„ค์ • (#317)

* feat: ๊ณต๋ชจ ๊ธ€ ์ž‘์„ฑ ui state ๊ตฌํ˜„

* feat: ๋กœ๋”ฉ progressbar ์ƒ์„ฑ

* feat: UI ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ

* refactor: ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

* refactor: ํ™ˆํ™”๋ฉด ๋ฆฌํŒฉํ† ๋ง (#324)

* refactor: textSize dp๋กœ ๋ณ€๊ฒฝ

* refactor: ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํฌ๊ธฐ ๋ณ€๊ฒฝ

- ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํŒจ๋”ฉ ์ถ”๊ฐ€
- ๊ฒ€์ƒ‰์ฐฝ ๋์— ํŒจ๋”ฉ ์ถ”๊ฐ€

* refactor: ์—”ํ„ฐํ‚ค๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•„ํ„ฐ ๋‹จ์ผ ์„ ํƒ๋˜๋„๋ก ์ˆ˜์ •

* style: lint์ ์šฉ

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ GA ์—ฐ๊ฒฐ (#328)

* feat: ๋Œ“๊ธ€๋ฐฉ ์ฐธ์—ฌ์ž ํ™•์ธ Event ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€๋ฐฉ ์ƒํƒœ ๋ณ€๊ฒฝ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ทจ์†Œ Event

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ๊ณต๊ตฌ์—์„œ ์ฐธ์—ฌ ํฌ๊ธฐ Event ๊ตฌํ˜„

* style: ktlint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ˆ˜์ • (#330)

* feat: Fragment GA ๋ชจ๋‹ˆํ„ฐ๋ง ์ˆ˜์ง‘ (#332)

* feat: fragment logScreenView ์ถ”์  ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ๊ฐ fragment์—์„œ ํ™”๋ฉด ๊ฐ์ง€ GA ์„ค์ •

* feat: ๋งˆ์ดํŽ˜์ด์ง€ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๋ทฐ ๋ณ€๊ฒฝ (#335)

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#318)

* test: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ๊ณต๋ชจ ์ฐธ์—ฌ ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refacโ€ฆ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants