-
Notifications
You must be signed in to change notification settings - Fork 3
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Namyunsuk
approved these changes
Aug 9, 2024
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๊ด๋ จ ์ด์
close #290
โจ ์์ ๋ด์ฉ
๐ ๊ธฐํ