Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: BaseActivity, BaseFragment #220

Merged
merged 8 commits into from
Aug 2, 2024
Merged

refactor: BaseActivity, BaseFragment #220

merged 8 commits into from
Aug 2, 2024

Conversation

haeum808
Copy link
Contributor

@haeum808 haeum808 commented Aug 1, 2024

๐Ÿšฉ ์—ฐ๊ด€ ์ด์Šˆ

close #197


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

  • application
  • binding
  • snackbar

๐Ÿž๏ธ ์Šคํฌ๋ฆฐ์ƒท (์„ ํƒ)


๐Ÿ—ฃ๏ธ ๋ฆฌ๋ทฐ ์š”๊ตฌ์‚ฌํ•ญ (์„ ํƒ)

  • ์•„์ง BindingActivity, BindingFragment๊ฐ€ ์ ์šฉ์ด ์•ˆ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ›๊ณ  ์ถ”ํ›„์— ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Copy link
Contributor

@aprilgom aprilgom left a comment

Choose a reason for hiding this comment

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

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

import com.google.android.material.snackbar.Snackbar
import com.woowacourse.ody.OdyApplication

abstract class BindingActivity<T : ViewDataBinding>(
Copy link
Contributor

Choose a reason for hiding this comment

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

BaseActivity ๋Œ€์‹  BindingActivity๋ผ๋Š” ์ด๋ฆ„์„ ์ฑ„ํƒํ•˜์‹  ์ด์œ ๊ฐ€ ์žˆ๋‚˜์šฉ

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Binding์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ๋“ค์ด ์žˆ์–ด์„œ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ BindingActivity๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

@LayoutRes private val layoutRes: Int,
) : AppCompatActivity() {
protected lateinit var binding: T
private var snackBar: Snackbar? = null
Copy link
Contributor

Choose a reason for hiding this comment

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

activity์— showSnackBar๋ฅผ ๋„ฃ๋Š” ๊ฑด ์–ด๋–จ๊นŒ์šฉ

Copy link
Contributor Author

Choose a reason for hiding this comment

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

์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

Copy link
Contributor

@kimhm0728 kimhm0728 left a comment

Choose a reason for hiding this comment

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

๋ฆฌ๋ทฐ ๋‹ฌ์•„๋‘์—ˆ์Šต๋‹ˆ๋‹น.

BindingActivity์—๋Š” showSnackBar, showToast๊ฐ€ ์—†๊ณ  BindingFragment์—๋Š” showToast๊ฐ€ ์—†๋Š”๋ฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ์ผ๋ถ€๋Ÿฌ ์ œ์™ธํ•˜์‹  ๊ฑด๊ฐ€์š”??

๊ทธ๋ฆฌ๊ณ  Base ๋ทฐ๋“ค ์ƒ์„ฑํ•˜์ž๊ณ  ์–˜๊ธฐ๊ฐ€ ๋‚˜์˜จ ์ด์œ ๊ฐ€, application์— DI๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด์„œ ๋ชจ๋“  ๋ทฐ์— application์„ ํ”„๋กœํผํ‹ฐ๋กœ ์„ ์–ธํ•˜๋Š” ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค๋Š” ์ด์œ ์˜€๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ์š”. (๋งž์ฃ ..??) BindingActivity, BindingFragment์— application๋„ ๊ฐ™์ด ๋„ฃ์–ด์ฃผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

abstract class BindingActivity<T : ViewDataBinding>(
@LayoutRes private val layoutRes: Int,
) : AppCompatActivity() {
protected lateinit var binding: T
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
protected lateinit var binding: T
protected val binding: T by lazy { DataBindingUtil.setContentView(this, layoutRes) }

์ด ๋ถ€๋ถ„ by lazy๋กœ ์ดˆ๊ธฐํ™”ํ•ด์ฃผ๋ฉด ์•ˆ ๋˜๋‚˜์š”?? ๊ถ๊ธˆ..

Copy link
Contributor Author

Choose a reason for hiding this comment

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

์ด ๋ฐฉ๋ฒ•์ด ๋” ๊น”๋”ํ•˜๋„ค์š” ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

import com.google.android.material.snackbar.Snackbar
import com.woowacourse.ody.OdyApplication

abstract class BindingActivity<T : ViewDataBinding>(
Copy link
Contributor

Choose a reason for hiding this comment

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

ํ˜น์‹œ BaseActivity, BaseFragment ๋ผ๋Š” ๋„ค์ด๋ฐ์€ ์–ด๋– ์‹ ๊ฐ€์š”? BindingActivity์€ ๋ญ”๊ฐ€ ์ต์ˆ™์น˜ ์•Š์€๋ฐ.. ์ €๋งŒ ๊ทธ๋Ÿฐ ๊ฑธ ์ˆ˜๋„ ์žˆ์Œ.

๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ/๋ทฐ ๋ฐ”์ธ๋”ฉ์„ ์“ฐ๋Š” Activity์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ Activity์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋„ค์ด๋ฐ์ธ๊ฐ€์š”?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

๋„ต ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋„ค์ด๋ฐ์ธ๋ฐ ์–ด๋–ค๊ฐ€์š”?

message: String,
action: Snackbar.() -> Unit = {},
) {
snackBar?.dismiss()
Copy link
Contributor

Choose a reason for hiding this comment

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

show ์ „์— dismissํ•ด์ฃผ๋Š” ๊ฑฐ ๊ผผ๊ผผํ•˜๋„ค์š” ๐Ÿ‘

Copy link
Contributor Author

Choose a reason for hiding this comment

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

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

}

fun showSnackBar(
message: String,
Copy link
Contributor

Choose a reason for hiding this comment

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

@StringRes messageId: Int๋Š” ์–ด๋– ์‹ ๊ฐ€์š”?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

@haeum808
Copy link
Contributor Author

haeum808 commented Aug 1, 2024

์‹ค์ˆ˜๊ฐ€ ๋งŽ์•˜๋„ค์š”, BindingActvity์— showSnackBar ๋ฉ”์„œ๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  BindingFragment์— application์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.
showToast๋Š” ์•„์ง ์“ฐ์ด๋Š” ๊ณณ์ด ์—†์–ด์„œ ๋ฑ„์Šต๋‹ˆ๋‹ค.

Copy link
Contributor

@kimhm0728 kimhm0728 left a comment

Choose a reason for hiding this comment

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

๋ฆฌ๋ทฐ ๋ฐ˜์˜๋œ ๊ฒƒ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Activity, Fragment์— ์ ์šฉํ•œ ํ›„์— ๋‹ค์‹œ ๋ฆฌ๋ทฐ ์š”์ฒญ ๋ถ€ํƒ๋“œ๋ ค์š”~

Copy link
Contributor

@aprilgom aprilgom left a comment

Choose a reason for hiding this comment

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

์ œ ๋ฆฌ๋ทฐ๋Š” ๋ชจ๋‘ ๋ฐ˜์˜ํ•˜์…จ๋„ค์š”!
์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค!


override fun onDestroyView() {
super.onDestroyView()
_binding = null
Copy link
Contributor

Choose a reason for hiding this comment

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

๊ผผ๊ผผํ•œ null์ฒ˜๋ฆฌ ์ข‹์Šต๋‹ˆ๋‹ค!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

์šฐํ•˜ํ•˜

@haeum808
Copy link
Contributor Author

haeum808 commented Aug 2, 2024

BindingActivity์—์„œ by lazy๋กœ ํ•˜๋‹ˆ ์—๋Ÿฌ ๋‚˜์™€์„œ ๋‹ค์‹œ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค.

@@ -77,15 +70,12 @@ class MeetingCreationActivity : AppCompatActivity(), BackListener {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)

initializeDataBinding()
Copy link
Contributor

@aprilgom aprilgom Aug 2, 2024

Choose a reason for hiding this comment

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

initializeDataBinding() ์ด ๋ฐ˜๋ณต์ด ๋˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ, BindingActivity, Fragment์— ์ถ”์ƒํ•จ์ˆ˜๋กœ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์•„์š”~

Copy link
Contributor Author

Choose a reason for hiding this comment

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

์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

Copy link
Contributor

@kimhm0728 kimhm0728 left a comment

Choose a reason for hiding this comment

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

๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค~!

@haeum808 haeum808 merged commit 943999e into develop Aug 2, 2024
2 checks passed
@haeum808 haeum808 deleted the feature/197 branch August 2, 2024 08:10
hyeon0208 added a commit that referenced this pull request Aug 3, 2024
commit 56d9a91
Author: eun-byeol <[email protected]>
Date:   Sat Aug 3 23:34:42 2024 +0900

    docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

commit aee5dd4
Author: H <[email protected]>
Date:   Sat Aug 3 21:56:24 2024 +0900

    docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

    * docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

    * docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

    * refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

    * refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

    * feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

commit 917ce9a
Author: kimhm0728 <[email protected]>
Date:   Fri Aug 2 18:51:38 2024 +0900

    docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

commit 943999e
Author: haeum808 <[email protected]>
Date:   Fri Aug 2 01:10:00 2024 -0700

    refactor: BaseActivity, BaseFragment (#220)

    * feat: BindingActivity, BindingFragment ๊ตฌํ˜„

    * style: ktlint

    * refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

    * refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

    * refactor: BindingActivity, BindingFragment ์ ์šฉ

    * style: ktlint

    * refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€
hyeon0208 added a commit that referenced this pull request Aug 22, 2024
* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

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

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

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

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

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

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

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

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

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

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

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

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

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

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

1.6.10-1.0.4 -> 1.9.0-1.0.13

* chore: MeetingInfoActivity exported true๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„ (#70)

* chore: ๋ฐ•์ˆ˜ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: DestinationFragment -> MeetingDestinationFragment ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด (#72)

* chore: ๋‹ฌ๋ ฅ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ํ™”๋ฉด ํšŒ์ „ ๊ฐ€๋กœ๋กœ ๊ณ ์ • ๋ฐ exported false๋กœ ๋ณ€๊ฒฝ

* chore: tools:text์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ํ•˜๋“œ ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌํ˜„ (#73)

* design: ์ธํŠธ๋กœ ํ™”๋ฉด xml ์ž‘์„ฑ

* design: activity_intro.xml ์ž‘์„ฑ

* feat: Event ์ž‘์„ฑ

* feat: IntroNavigateAction ์ž‘์„ฑ

* feat: Intro ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ

* feat: ๊ฐ ๋ฒ„ํŠผ ํด๋ฆญ์— ๋”ฐ๋ฅธ Navigation Event ๋ฐœ์ƒ ๊ตฌํ˜„

* feat: IntroActivity์— ViewModel ์ถ”๊ฐ€

* feat: observe ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: IntroActivity์™€ MeetingInfoActivity ์—ฐ๊ฒฐ

* refactor: binding ํ•จ์ˆ˜ ๋ถ„๋ฆฌ, initialize๋กœ ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml ์ด๋ฆ„ ๋ณ€๊ฒฝ

* design: ํƒ‘ ๋ฐ” ์ถ”๊ฐ€

---------

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

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#74)

* chore: MeetingInfoListener -> InfoListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

* chore: initializeDataBinding์— ViewPager ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: VisitorInfo -> JoinInfo๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* chore: InfoListener -> BackListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ (#75)

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ

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

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

* chore: android ci ํ•„๋“œ ์ถ”๊ฐ€ (#78)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* feat: ์œ„๋„, ๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” api ์—ฐ๋™ (#76)

* feat: ์œ„๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” repository ๊ตฌํ˜„

* feat: ์นด์นด์˜ค location response dto ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค location api ์—ฐ๋™

* feat: ์œ„๋„ ๊ฒฝ๋„๋ฅผ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์œ„๋„ ๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ

* fix: ์œ„๋„ ๊ฒฝ๋„ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์™€์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌ

* fix: ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜จ ํ›„ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋‹ซ๋„๋ก ์ˆ˜์ •

* refactor: interceptor๋กœ ํ—ค๋” ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* chore: moshi ์–ด๋Œ‘ํ„ฐ import ์ˆ˜์ •

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

* refactor: ์œ„๊ฒฝ๋„์— ๋Œ€ํ•œ mapper ์ƒ์„ฑ

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

* refactor: ์œ„๊ฒฝ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ui model ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

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

* feat: ์•ฝ์† ๋‚ ์งœ ์ž…๋ ฅ ํ™”๋ฉด (#79)

* feat: ๋‚ ์งœ ์„ ํƒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* feat: ๋‚ ์งœ ์„ ํƒ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* style: ktlint

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#68)

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* fix: ๊ฒ€์ฆํ•  DTO์— ๊ฒ€์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: nickname ๊ฒ€์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€

* refactor: ์—”ํ‹ฐํ‹ฐ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ NotNull์„ ์ž„๋ฒ ๋””๋“œ ๊ฐ์ฒด์—์„œ ์ œ๊ฑฐ

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#86)

* design: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ตœ๋Œ€ ๊ธธ์ด ๋ทฐ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹‰๋„ค์ž„ ๊ธ€์ž์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๋œ ๋‹‰๋„ค์ž„ ์—†์–ด์ง€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ bottom dialog (#84)

* design: bottom sheet ํ‹€ ๋””์ž์ธ

* design: bottom sheet ๋””์ž์ธ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌํ•˜๊ธฐ ๊ตฌํ˜„

* chore: initialize๋กœ ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์Šค๋‚ต๋ฐ”์— Int๊ฐ’ ์ „๋‹ฌ๋กœ ๋ณ€๊ฒฝ

* chore: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ด€๋ จ UX ๋ผ์ดํŒ… ๋ณ€๊ฒฝ

์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋์Šต๋‹ˆ๋‹ค. -> ์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

* feat: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#97)

* design: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ์‹œ๊ฐ„๊ณผ ๋ถ„์„ NumberPicker์— ๋ฐ์ดํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: NumberPicker ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

* refactor: NumberPicker ์ˆซ์ž ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ด๋™

* feat: ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ NumberPicker ์ดˆ๊ธฐ๊ฐ’ ์…‹ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‹œ๊ฐ„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: numberPicker value๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#99)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๋ทฐ ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ repository ๊ตฌํ˜„

* chore: manifest์— ์•กํ‹ฐ๋น„ํ‹ฐ ์ถ”๊ฐ€

* design: edit text ์†์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์—‘์Šค ๋ฒ„ํŠผ์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ž…๋ ฅํ•œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: strings ์™€ selector ์ถ”๊ฐ€

* feat: ํ™•์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

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

* feat: toolbar back ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* chore: infoListener -> backListener ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: dialog ํฌ๊ธฐ ์ˆ˜์ • (#98)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ํ™˜๊ฒฝ ๊ตฌ์ถ• (#101)

* chore: ci submodule ์ ์šฉ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ • ํ…Œ์ŠคํŠธ

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ •

* test: test argument ์ˆ˜์ •

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

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#100)

* style: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋„์ฐฉ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

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

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* feat:  ์ˆ˜๋„๊ถŒ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#102)

* design: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ui ๊ตฌํ˜„

* feat: ๊ธ€์ž์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ์ž„ ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ‘œํ˜„ ๋ฐฉ์‹ ์ˆ˜์ •

* fix: strings ์ถ”๊ฐ€

* fix: ๋ฐ”์ธ๋”ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

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

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

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

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* fix: JpaAuditing ํ™œ์„ฑํ™”

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

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

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

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

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

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

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

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

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

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

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

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

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

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

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

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

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

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

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

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

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

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

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

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

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

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

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

---------

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

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

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

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

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

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

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

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

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

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

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

* chore: Http Logging ์ถ”๊ฐ€

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

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

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

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

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

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

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

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

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

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

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

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

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

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

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

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

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

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

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

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

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

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

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

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

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

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

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

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

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

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

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

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

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

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

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

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

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

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

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

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

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

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

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

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

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

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

---------

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

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

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

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

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

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

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

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

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

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

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

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

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

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

---------

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

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

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

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

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

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

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

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

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

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

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

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

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

---------

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

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

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

---------

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

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

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

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

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

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

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

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

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

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

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

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

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

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

* style: ktlint

* style: ktlint

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

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

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

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

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

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

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

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

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

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

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

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

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

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

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

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

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

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

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

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

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

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

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

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

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

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

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

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

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

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

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

---------

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

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

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

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

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

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

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

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

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

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

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

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

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

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

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

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

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

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

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

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

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

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

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

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

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]โ€ฆ
mzeong added a commit that referenced this pull request Sep 26, 2024
* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

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

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

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

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

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

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

1.6.10-1.0.4 -> 1.9.0-1.0.13

* chore: MeetingInfoActivity exported true๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„ (#70)

* chore: ๋ฐ•์ˆ˜ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: DestinationFragment -> MeetingDestinationFragment ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด (#72)

* chore: ๋‹ฌ๋ ฅ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ํ™”๋ฉด ํšŒ์ „ ๊ฐ€๋กœ๋กœ ๊ณ ์ • ๋ฐ exported false๋กœ ๋ณ€๊ฒฝ

* chore: tools:text์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ํ•˜๋“œ ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌํ˜„ (#73)

* design: ์ธํŠธ๋กœ ํ™”๋ฉด xml ์ž‘์„ฑ

* design: activity_intro.xml ์ž‘์„ฑ

* feat: Event ์ž‘์„ฑ

* feat: IntroNavigateAction ์ž‘์„ฑ

* feat: Intro ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ

* feat: ๊ฐ ๋ฒ„ํŠผ ํด๋ฆญ์— ๋”ฐ๋ฅธ Navigation Event ๋ฐœ์ƒ ๊ตฌํ˜„

* feat: IntroActivity์— ViewModel ์ถ”๊ฐ€

* feat: observe ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: IntroActivity์™€ MeetingInfoActivity ์—ฐ๊ฒฐ

* refactor: binding ํ•จ์ˆ˜ ๋ถ„๋ฆฌ, initialize๋กœ ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml ์ด๋ฆ„ ๋ณ€๊ฒฝ

* design: ํƒ‘ ๋ฐ” ์ถ”๊ฐ€

---------

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

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#74)

* chore: MeetingInfoListener -> InfoListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

* chore: initializeDataBinding์— ViewPager ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: VisitorInfo -> JoinInfo๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* chore: InfoListener -> BackListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ (#75)

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ

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

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

* chore: android ci ํ•„๋“œ ์ถ”๊ฐ€ (#78)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* feat: ์œ„๋„, ๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” api ์—ฐ๋™ (#76)

* feat: ์œ„๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” repository ๊ตฌํ˜„

* feat: ์นด์นด์˜ค location response dto ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค location api ์—ฐ๋™

* feat: ์œ„๋„ ๊ฒฝ๋„๋ฅผ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์œ„๋„ ๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ

* fix: ์œ„๋„ ๊ฒฝ๋„ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์™€์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌ

* fix: ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜จ ํ›„ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋‹ซ๋„๋ก ์ˆ˜์ •

* refactor: interceptor๋กœ ํ—ค๋” ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* chore: moshi ์–ด๋Œ‘ํ„ฐ import ์ˆ˜์ •

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

* refactor: ์œ„๊ฒฝ๋„์— ๋Œ€ํ•œ mapper ์ƒ์„ฑ

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

* refactor: ์œ„๊ฒฝ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ui model ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

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

* feat: ์•ฝ์† ๋‚ ์งœ ์ž…๋ ฅ ํ™”๋ฉด (#79)

* feat: ๋‚ ์งœ ์„ ํƒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* feat: ๋‚ ์งœ ์„ ํƒ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* style: ktlint

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#68)

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* fix: ๊ฒ€์ฆํ•  DTO์— ๊ฒ€์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: nickname ๊ฒ€์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€

* refactor: ์—”ํ‹ฐํ‹ฐ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ NotNull์„ ์ž„๋ฒ ๋””๋“œ ๊ฐ์ฒด์—์„œ ์ œ๊ฑฐ

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#86)

* design: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ตœ๋Œ€ ๊ธธ์ด ๋ทฐ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹‰๋„ค์ž„ ๊ธ€์ž์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๋œ ๋‹‰๋„ค์ž„ ์—†์–ด์ง€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ bottom dialog (#84)

* design: bottom sheet ํ‹€ ๋””์ž์ธ

* design: bottom sheet ๋””์ž์ธ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌํ•˜๊ธฐ ๊ตฌํ˜„

* chore: initialize๋กœ ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์Šค๋‚ต๋ฐ”์— Int๊ฐ’ ์ „๋‹ฌ๋กœ ๋ณ€๊ฒฝ

* chore: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ด€๋ จ UX ๋ผ์ดํŒ… ๋ณ€๊ฒฝ

์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋์Šต๋‹ˆ๋‹ค. -> ์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

* feat: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#97)

* design: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ์‹œ๊ฐ„๊ณผ ๋ถ„์„ NumberPicker์— ๋ฐ์ดํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: NumberPicker ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

* refactor: NumberPicker ์ˆซ์ž ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ด๋™

* feat: ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ NumberPicker ์ดˆ๊ธฐ๊ฐ’ ์…‹ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‹œ๊ฐ„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: numberPicker value๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#99)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๋ทฐ ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ repository ๊ตฌํ˜„

* chore: manifest์— ์•กํ‹ฐ๋น„ํ‹ฐ ์ถ”๊ฐ€

* design: edit text ์†์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์—‘์Šค ๋ฒ„ํŠผ์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ž…๋ ฅํ•œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: strings ์™€ selector ์ถ”๊ฐ€

* feat: ํ™•์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

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

* feat: toolbar back ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* chore: infoListener -> backListener ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: dialog ํฌ๊ธฐ ์ˆ˜์ • (#98)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ํ™˜๊ฒฝ ๊ตฌ์ถ• (#101)

* chore: ci submodule ์ ์šฉ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ • ํ…Œ์ŠคํŠธ

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ •

* test: test argument ์ˆ˜์ •

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

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#100)

* style: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋„์ฐฉ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

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

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* feat:  ์ˆ˜๋„๊ถŒ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#102)

* design: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ui ๊ตฌํ˜„

* feat: ๊ธ€์ž์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ์ž„ ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ‘œํ˜„ ๋ฐฉ์‹ ์ˆ˜์ •

* fix: strings ์ถ”๊ฐ€

* fix: ๋ฐ”์ธ๋”ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

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

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

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

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* fix: JpaAuditing ํ™œ์„ฑํ™”

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

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

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

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

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

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

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

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

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

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

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

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

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

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

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

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

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

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

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

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

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

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

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

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

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

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

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

---------

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

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

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

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

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

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

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

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

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

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

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

* chore: Http Logging ์ถ”๊ฐ€

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

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

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

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

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

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

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

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

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

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

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

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

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

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

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

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

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

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

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

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

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

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

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

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

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

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

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

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

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

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

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

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

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

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

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

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

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

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

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

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

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

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

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

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

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

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

---------

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

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

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

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

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

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

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

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

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

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

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

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

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

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

---------

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

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

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

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

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

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

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

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

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

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

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

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

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

---------

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

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

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

---------

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

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

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

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

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

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

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

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

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

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

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

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

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

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

* style: ktlint

* style: ktlint

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

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

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

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

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

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

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

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

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

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

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

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

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

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

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

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

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

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

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

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

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

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

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

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

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

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

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

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

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

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

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

---------

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

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

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

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

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

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

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

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

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

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

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

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

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

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

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

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

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

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

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

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

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

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

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

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

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

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

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessTokeโ€ฆ
hyeon0208 added a commit that referenced this pull request Sep 26, 2024
* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

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

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

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

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

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

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

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

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

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

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

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

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

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

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

1.6.10-1.0.4 -> 1.9.0-1.0.13

* chore: MeetingInfoActivity exported true๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„ (#70)

* chore: ๋ฐ•์ˆ˜ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: DestinationFragment -> MeetingDestinationFragment ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด (#72)

* chore: ๋‹ฌ๋ ฅ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ํ™”๋ฉด ํšŒ์ „ ๊ฐ€๋กœ๋กœ ๊ณ ์ • ๋ฐ exported false๋กœ ๋ณ€๊ฒฝ

* chore: tools:text์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ํ•˜๋“œ ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌํ˜„ (#73)

* design: ์ธํŠธ๋กœ ํ™”๋ฉด xml ์ž‘์„ฑ

* design: activity_intro.xml ์ž‘์„ฑ

* feat: Event ์ž‘์„ฑ

* feat: IntroNavigateAction ์ž‘์„ฑ

* feat: Intro ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ

* feat: ๊ฐ ๋ฒ„ํŠผ ํด๋ฆญ์— ๋”ฐ๋ฅธ Navigation Event ๋ฐœ์ƒ ๊ตฌํ˜„

* feat: IntroActivity์— ViewModel ์ถ”๊ฐ€

* feat: observe ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: IntroActivity์™€ MeetingInfoActivity ์—ฐ๊ฒฐ

* refactor: binding ํ•จ์ˆ˜ ๋ถ„๋ฆฌ, initialize๋กœ ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml ์ด๋ฆ„ ๋ณ€๊ฒฝ

* design: ํƒ‘ ๋ฐ” ์ถ”๊ฐ€

---------

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

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#74)

* chore: MeetingInfoListener -> InfoListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

* chore: initializeDataBinding์— ViewPager ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: VisitorInfo -> JoinInfo๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* chore: InfoListener -> BackListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ (#75)

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ

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

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

* chore: android ci ํ•„๋“œ ์ถ”๊ฐ€ (#78)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* feat: ์œ„๋„, ๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” api ์—ฐ๋™ (#76)

* feat: ์œ„๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” repository ๊ตฌํ˜„

* feat: ์นด์นด์˜ค location response dto ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค location api ์—ฐ๋™

* feat: ์œ„๋„ ๊ฒฝ๋„๋ฅผ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์œ„๋„ ๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ

* fix: ์œ„๋„ ๊ฒฝ๋„ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์™€์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌ

* fix: ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜จ ํ›„ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋‹ซ๋„๋ก ์ˆ˜์ •

* refactor: interceptor๋กœ ํ—ค๋” ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* chore: moshi ์–ด๋Œ‘ํ„ฐ import ์ˆ˜์ •

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

* refactor: ์œ„๊ฒฝ๋„์— ๋Œ€ํ•œ mapper ์ƒ์„ฑ

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

* refactor: ์œ„๊ฒฝ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ui model ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

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

* feat: ์•ฝ์† ๋‚ ์งœ ์ž…๋ ฅ ํ™”๋ฉด (#79)

* feat: ๋‚ ์งœ ์„ ํƒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* feat: ๋‚ ์งœ ์„ ํƒ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* style: ktlint

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#68)

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* fix: ๊ฒ€์ฆํ•  DTO์— ๊ฒ€์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: nickname ๊ฒ€์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€

* refactor: ์—”ํ‹ฐํ‹ฐ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ NotNull์„ ์ž„๋ฒ ๋””๋“œ ๊ฐ์ฒด์—์„œ ์ œ๊ฑฐ

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#86)

* design: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ตœ๋Œ€ ๊ธธ์ด ๋ทฐ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹‰๋„ค์ž„ ๊ธ€์ž์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๋œ ๋‹‰๋„ค์ž„ ์—†์–ด์ง€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ bottom dialog (#84)

* design: bottom sheet ํ‹€ ๋””์ž์ธ

* design: bottom sheet ๋””์ž์ธ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌํ•˜๊ธฐ ๊ตฌํ˜„

* chore: initialize๋กœ ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์Šค๋‚ต๋ฐ”์— Int๊ฐ’ ์ „๋‹ฌ๋กœ ๋ณ€๊ฒฝ

* chore: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ด€๋ จ UX ๋ผ์ดํŒ… ๋ณ€๊ฒฝ

์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋์Šต๋‹ˆ๋‹ค. -> ์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

* feat: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#97)

* design: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ์‹œ๊ฐ„๊ณผ ๋ถ„์„ NumberPicker์— ๋ฐ์ดํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: NumberPicker ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

* refactor: NumberPicker ์ˆซ์ž ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ด๋™

* feat: ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ NumberPicker ์ดˆ๊ธฐ๊ฐ’ ์…‹ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‹œ๊ฐ„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: numberPicker value๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#99)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๋ทฐ ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ repository ๊ตฌํ˜„

* chore: manifest์— ์•กํ‹ฐ๋น„ํ‹ฐ ์ถ”๊ฐ€

* design: edit text ์†์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์—‘์Šค ๋ฒ„ํŠผ์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ž…๋ ฅํ•œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: strings ์™€ selector ์ถ”๊ฐ€

* feat: ํ™•์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

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

* feat: toolbar back ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* chore: infoListener -> backListener ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: dialog ํฌ๊ธฐ ์ˆ˜์ • (#98)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ํ™˜๊ฒฝ ๊ตฌ์ถ• (#101)

* chore: ci submodule ์ ์šฉ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ • ํ…Œ์ŠคํŠธ

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ •

* test: test argument ์ˆ˜์ •

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

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#100)

* style: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋„์ฐฉ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

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

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* feat:  ์ˆ˜๋„๊ถŒ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#102)

* design: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ui ๊ตฌํ˜„

* feat: ๊ธ€์ž์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ์ž„ ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ‘œํ˜„ ๋ฐฉ์‹ ์ˆ˜์ •

* fix: strings ์ถ”๊ฐ€

* fix: ๋ฐ”์ธ๋”ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

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

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

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

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* fix: JpaAuditing ํ™œ์„ฑํ™”

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

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

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

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

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

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

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

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

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

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

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

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

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

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

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

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

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

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

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

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

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

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

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

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

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

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

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

---------

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

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

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

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

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

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

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

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

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

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

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

* chore: Http Logging ์ถ”๊ฐ€

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

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

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

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

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

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

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

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

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

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

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

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

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

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

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

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

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

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

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

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

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

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

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

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

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

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

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

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

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

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

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

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

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

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

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

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

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

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

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

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

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

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

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

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

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

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

---------

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

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

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

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

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

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

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

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

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

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

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

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

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

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

---------

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

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

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

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

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

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

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

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

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

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

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

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

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

---------

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

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

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

---------

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

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

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

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

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

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

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

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

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

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

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

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

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

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

* style: ktlint

* style: ktlint

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

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

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

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

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

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

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

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

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

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

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

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

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

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

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

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

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

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

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

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

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

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

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

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

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

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

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

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

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

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

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

---------

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

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

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

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

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

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

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

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

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

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

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

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

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

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

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

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

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

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

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

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

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

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

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

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

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ โ€ฆ
mzeong added a commit that referenced this pull request Oct 2, 2024
* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

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

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

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

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

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

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

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

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

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

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

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

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

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

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

1.6.10-1.0.4 -> 1.9.0-1.0.13

* chore: MeetingInfoActivity exported true๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„ (#70)

* chore: ๋ฐ•์ˆ˜ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: DestinationFragment -> MeetingDestinationFragment ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด (#72)

* chore: ๋‹ฌ๋ ฅ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ํ™”๋ฉด ํšŒ์ „ ๊ฐ€๋กœ๋กœ ๊ณ ์ • ๋ฐ exported false๋กœ ๋ณ€๊ฒฝ

* chore: tools:text์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ํ•˜๋“œ ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌํ˜„ (#73)

* design: ์ธํŠธ๋กœ ํ™”๋ฉด xml ์ž‘์„ฑ

* design: activity_intro.xml ์ž‘์„ฑ

* feat: Event ์ž‘์„ฑ

* feat: IntroNavigateAction ์ž‘์„ฑ

* feat: Intro ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ

* feat: ๊ฐ ๋ฒ„ํŠผ ํด๋ฆญ์— ๋”ฐ๋ฅธ Navigation Event ๋ฐœ์ƒ ๊ตฌํ˜„

* feat: IntroActivity์— ViewModel ์ถ”๊ฐ€

* feat: observe ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: IntroActivity์™€ MeetingInfoActivity ์—ฐ๊ฒฐ

* refactor: binding ํ•จ์ˆ˜ ๋ถ„๋ฆฌ, initialize๋กœ ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml ์ด๋ฆ„ ๋ณ€๊ฒฝ

* design: ํƒ‘ ๋ฐ” ์ถ”๊ฐ€

---------

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

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#74)

* chore: MeetingInfoListener -> InfoListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

* chore: initializeDataBinding์— ViewPager ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: VisitorInfo -> JoinInfo๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* chore: InfoListener -> BackListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ (#75)

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ

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

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

* chore: android ci ํ•„๋“œ ์ถ”๊ฐ€ (#78)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* feat: ์œ„๋„, ๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” api ์—ฐ๋™ (#76)

* feat: ์œ„๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” repository ๊ตฌํ˜„

* feat: ์นด์นด์˜ค location response dto ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค location api ์—ฐ๋™

* feat: ์œ„๋„ ๊ฒฝ๋„๋ฅผ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์œ„๋„ ๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ

* fix: ์œ„๋„ ๊ฒฝ๋„ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์™€์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌ

* fix: ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜จ ํ›„ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋‹ซ๋„๋ก ์ˆ˜์ •

* refactor: interceptor๋กœ ํ—ค๋” ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* chore: moshi ์–ด๋Œ‘ํ„ฐ import ์ˆ˜์ •

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

* refactor: ์œ„๊ฒฝ๋„์— ๋Œ€ํ•œ mapper ์ƒ์„ฑ

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

* refactor: ์œ„๊ฒฝ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ui model ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

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

* feat: ์•ฝ์† ๋‚ ์งœ ์ž…๋ ฅ ํ™”๋ฉด (#79)

* feat: ๋‚ ์งœ ์„ ํƒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* feat: ๋‚ ์งœ ์„ ํƒ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* style: ktlint

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#68)

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* fix: ๊ฒ€์ฆํ•  DTO์— ๊ฒ€์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: nickname ๊ฒ€์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€

* refactor: ์—”ํ‹ฐํ‹ฐ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ NotNull์„ ์ž„๋ฒ ๋””๋“œ ๊ฐ์ฒด์—์„œ ์ œ๊ฑฐ

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#86)

* design: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ตœ๋Œ€ ๊ธธ์ด ๋ทฐ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹‰๋„ค์ž„ ๊ธ€์ž์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๋œ ๋‹‰๋„ค์ž„ ์—†์–ด์ง€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ bottom dialog (#84)

* design: bottom sheet ํ‹€ ๋””์ž์ธ

* design: bottom sheet ๋””์ž์ธ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌํ•˜๊ธฐ ๊ตฌํ˜„

* chore: initialize๋กœ ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์Šค๋‚ต๋ฐ”์— Int๊ฐ’ ์ „๋‹ฌ๋กœ ๋ณ€๊ฒฝ

* chore: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ด€๋ จ UX ๋ผ์ดํŒ… ๋ณ€๊ฒฝ

์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋์Šต๋‹ˆ๋‹ค. -> ์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

* feat: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#97)

* design: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ์‹œ๊ฐ„๊ณผ ๋ถ„์„ NumberPicker์— ๋ฐ์ดํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: NumberPicker ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

* refactor: NumberPicker ์ˆซ์ž ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ด๋™

* feat: ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ NumberPicker ์ดˆ๊ธฐ๊ฐ’ ์…‹ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‹œ๊ฐ„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: numberPicker value๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#99)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๋ทฐ ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ repository ๊ตฌํ˜„

* chore: manifest์— ์•กํ‹ฐ๋น„ํ‹ฐ ์ถ”๊ฐ€

* design: edit text ์†์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์—‘์Šค ๋ฒ„ํŠผ์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ž…๋ ฅํ•œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: strings ์™€ selector ์ถ”๊ฐ€

* feat: ํ™•์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

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

* feat: toolbar back ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* chore: infoListener -> backListener ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: dialog ํฌ๊ธฐ ์ˆ˜์ • (#98)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ํ™˜๊ฒฝ ๊ตฌ์ถ• (#101)

* chore: ci submodule ์ ์šฉ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ • ํ…Œ์ŠคํŠธ

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ •

* test: test argument ์ˆ˜์ •

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

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#100)

* style: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋„์ฐฉ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

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

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* feat:  ์ˆ˜๋„๊ถŒ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#102)

* design: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ui ๊ตฌํ˜„

* feat: ๊ธ€์ž์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ์ž„ ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ‘œํ˜„ ๋ฐฉ์‹ ์ˆ˜์ •

* fix: strings ์ถ”๊ฐ€

* fix: ๋ฐ”์ธ๋”ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

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

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

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

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* fix: JpaAuditing ํ™œ์„ฑํ™”

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

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

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

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

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

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

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

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

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

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

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

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

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

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

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

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

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

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

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

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

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

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

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

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

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

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

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

---------

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

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

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

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

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

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

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

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

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

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

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

* chore: Http Logging ์ถ”๊ฐ€

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

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

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

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

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

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

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

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

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

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

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

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

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

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

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

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

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

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

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

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

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

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

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

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

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

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

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

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

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

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

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

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

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

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

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

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

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

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

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

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

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

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

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

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

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

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

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

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

---------

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

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

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

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

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

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

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

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

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

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

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

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

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

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* style: ktLint ์ ์šฉ

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

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

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

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

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

---------

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

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

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

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

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

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

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

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

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

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

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

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

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

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

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

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

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

---------

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

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

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

---------

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

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

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

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

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

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

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

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

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

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

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

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

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

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

* style: ktlint

* style: ktlint

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

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

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

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

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

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

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

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

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

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

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

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

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

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

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

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

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

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

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

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

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

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

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

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

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

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

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

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

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

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

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

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

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

---------

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

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

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

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

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

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

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

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

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

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

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

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

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

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

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

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

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

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

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

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

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

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

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

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

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

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

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

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

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]โ€ฆ

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 2 ๋ฐฐํฌ (#588)

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL lโ€ฆ
hyeon0208 added a commit that referenced this pull request Oct 2, 2024
* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

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

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

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

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

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

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

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

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

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

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

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

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

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

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

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

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

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

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

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

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

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

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

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

1.6.10-1.0.4 -> 1.9.0-1.0.13

* chore: MeetingInfoActivity exported true๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„ (#70)

* chore: ๋ฐ•์ˆ˜ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: DestinationFragment -> MeetingDestinationFragment ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด (#72)

* chore: ๋‹ฌ๋ ฅ ์ด๋ฏธ์ง€๋“ค ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์™„๋ฃŒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ํ™”๋ฉด ํšŒ์ „ ๊ฐ€๋กœ๋กœ ๊ณ ์ • ๋ฐ exported false๋กœ ๋ณ€๊ฒฝ

* chore: tools:text์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ํ•˜๋“œ ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌํ˜„ (#73)

* design: ์ธํŠธ๋กœ ํ™”๋ฉด xml ์ž‘์„ฑ

* design: activity_intro.xml ์ž‘์„ฑ

* feat: Event ์ž‘์„ฑ

* feat: IntroNavigateAction ์ž‘์„ฑ

* feat: Intro ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ

* feat: ๊ฐ ๋ฒ„ํŠผ ํด๋ฆญ์— ๋”ฐ๋ฅธ Navigation Event ๋ฐœ์ƒ ๊ตฌํ˜„

* feat: IntroActivity์— ViewModel ์ถ”๊ฐ€

* feat: observe ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: IntroActivity์™€ MeetingInfoActivity ์—ฐ๊ฒฐ

* refactor: binding ํ•จ์ˆ˜ ๋ถ„๋ฆฌ, initialize๋กœ ํ•จ์ˆ˜๋ช… ํ†ต์ผ

* chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml ์ด๋ฆ„ ๋ณ€๊ฒฝ

* design: ํƒ‘ ๋ฐ” ์ถ”๊ฐ€

---------

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

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#74)

* chore: MeetingInfoListener -> InfoListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

* chore: initializeDataBinding์— ViewPager ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* chore: VisitorInfo -> JoinInfo๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* chore: InfoListener -> BackListener๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๋ช… ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ (#75)

* feat: ์•Œ๋ฆผ ๊ถŒํ•œ ์š”์ฒญ

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

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

* chore: android ci ํ•„๋“œ ์ถ”๊ฐ€ (#78)

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

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* feat: ์œ„๋„, ๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” api ์—ฐ๋™ (#76)

* feat: ์œ„๊ฒฝ๋„ ๊ฐ€์ ธ์˜ค๋Š” repository ๊ตฌํ˜„

* feat: ์นด์นด์˜ค location response dto ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค location api ์—ฐ๋™

* feat: ์œ„๋„ ๊ฒฝ๋„๋ฅผ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์œ„๋„ ๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ

* fix: ์œ„๋„ ๊ฒฝ๋„ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์™€์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ์— ์ „๋‹ฌ

* fix: ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜จ ํ›„ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋‹ซ๋„๋ก ์ˆ˜์ •

* refactor: interceptor๋กœ ํ—ค๋” ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* chore: moshi ์–ด๋Œ‘ํ„ฐ import ์ˆ˜์ •

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

* refactor: ์œ„๊ฒฝ๋„์— ๋Œ€ํ•œ mapper ์ƒ์„ฑ

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

* refactor: ์œ„๊ฒฝ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ui model ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

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

* feat: ์•ฝ์† ๋‚ ์งœ ์ž…๋ ฅ ํ™”๋ฉด (#79)

* feat: ๋‚ ์งœ ์„ ํƒ ํ™”๋ฉด ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* feat: ๋‚ ์งœ ์„ ํƒ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* style: ktlint

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#68)

* feat: ๋ชจ์ž„ ์ •๋ณด ์ž…๋ ฅ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* fix: ๊ฒ€์ฆํ•  DTO์— ๊ฒ€์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* feat: nickname ๊ฒ€์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€

* refactor: ์—”ํ‹ฐํ‹ฐ์—์„œ ์ด๋ฏธ ์„ ์–ธ๋œ NotNull์„ ์ž„๋ฒ ๋””๋“œ ๊ฐ์ฒด์—์„œ ์ œ๊ฑฐ

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#86)

* design: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ตœ๋Œ€ ๊ธธ์ด ๋ทฐ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹‰๋„ค์ž„ ๊ธ€์ž์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๋œ ๋‹‰๋„ค์ž„ ์—†์–ด์ง€๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ๋˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ bottom dialog (#84)

* design: bottom sheet ํ‹€ ๋””์ž์ธ

* design: bottom sheet ๋””์ž์ธ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌํ•˜๊ธฐ ๊ตฌํ˜„

* chore: initialize๋กœ ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์Šค๋‚ต๋ฐ”์— Int๊ฐ’ ์ „๋‹ฌ๋กœ ๋ณ€๊ฒฝ

* chore: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ด€๋ จ UX ๋ผ์ดํŒ… ๋ณ€๊ฒฝ

์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋์Šต๋‹ˆ๋‹ค. -> ์ดˆ๋Œ€ ์ฝ”๋“œ๊ฐ€ ๋ณต์‚ฌ ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

* feat: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#97)

* design: ์•ฝ์† ์‹œ๊ฐ„ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ์‹œ๊ฐ„๊ณผ ๋ถ„์„ NumberPicker์— ๋ฐ์ดํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: NumberPicker ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

* refactor: NumberPicker ์ˆซ์ž ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ์ด๋™

* feat: ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ NumberPicker ์ดˆ๊ธฐ๊ฐ’ ์…‹ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‹œ๊ฐ„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ๋‹ค์Œ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: numberPicker value๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#99)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ๋ทฐ ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ repository ๊ตฌํ˜„

* chore: manifest์— ์•กํ‹ฐ๋น„ํ‹ฐ ์ถ”๊ฐ€

* design: edit text ์†์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์—‘์Šค ๋ฒ„ํŠผ์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์—‘์Šค ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ž…๋ ฅํ•œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ง€์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: strings ์™€ selector ์ถ”๊ฐ€

* feat: ํ™•์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

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

* feat: toolbar back ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* chore: infoListener -> backListener ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: dialog ํฌ๊ธฐ ์ˆ˜์ • (#98)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ํ™˜๊ฒฝ ๊ตฌ์ถ• (#101)

* chore: ci submodule ์ ์šฉ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ถ”๊ฐ€

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ • ํ…Œ์ŠคํŠธ

* chore: private.yml ํŒŒ์ผ ์ˆ˜์ •

* test: test argument ์ˆ˜์ •

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

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#100)

* style: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: ๋„์ฐฉ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ

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

* feat: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์‹œ ์ˆ˜๋„๊ถŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ตฌํ˜„

* feat:  ์ˆ˜๋„๊ถŒ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ๊ตฌํ˜„ (#102)

* design: ๋ชจ์ž„ ์ด๋ฆ„ ์ž…๋ ฅ ui ๊ตฌํ˜„

* feat: ๊ธ€์ž์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ์ž„ ์‹œ๊ฐ„ ๋ฒ”์œ„ ํ‘œํ˜„ ๋ฐฉ์‹ ์ˆ˜์ •

* fix: strings ์ถ”๊ฐ€

* fix: ๋ฐ”์ธ๋”ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

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

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

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

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

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

* fix: JpaAuditing ํ™œ์„ฑํ™”

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

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

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

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

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

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

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

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

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

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

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

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

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

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

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

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

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

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

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

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

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

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

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

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

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

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

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

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

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

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

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

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

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

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

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

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

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

---------

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

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

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

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

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

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

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

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

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

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

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

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

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

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

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

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

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

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

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

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

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

* chore: Http Logging ์ถ”๊ฐ€

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

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

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

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

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

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

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

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

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

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

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

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

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

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

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

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#174)

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

* refactor: startingpoint -> departure ํŒจํ‚ค์ง€ ๋ช… ๋ณ€๊ฒฝ

* refactor: NotificationLogListAdapter -> NotificationLogsAdapter ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: notificationlog -> meetingRoom ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* refactor : NPE ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

Co-authored-by: H <[email protected]>

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

* design: colors ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <joeโ€ฆ
kimhm0728 added a commit that referenced this pull request Oct 15, 2024
* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ตฌํ˜„ (#60)

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* refactor: ํ† ํฐ์œผ๋กœ ํšŒ์› ์กฐํšŒ ArgumentResolver๋กœ ๊ณตํ†ตํ™”

Co-authored-by: mzeong <[email protected]>

* fix: TaskScheduler ๋นˆ ๋“ฑ๋ก

Co-authored-by: mzeong <[email protected]>

* test: ์ถœ๋ฐœ ์‹œ๊ฐ„ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* fix: JpaAuditing ํ™œ์„ฑํ™”

Co-authored-by: mzeong <[email protected]>

* fix: ์š”์ฒญ DTO ๋งคํ•‘์„ ์œ„ํ•œ RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* fix: save ๋ฉ”์„œ๋“œ์— Transactional ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

Co-authored-by: mzeong <[email protected]>

* fix: firebase ํ‚ค ์บ์‰ฌ ๋‚ด์—ญ ์ œ๊ฑฐ

* fix: ํ…Œ์ŠคํŠธ ์‹œ์— ํ…Œ์ŠคํŠธ์šฉ yml์ด ์ˆ˜์ •๋˜๋„๋ก ๊ทœ์น™์— ๋งž๊ฒŒ ์ด๋ฆ„ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* refactor: ๋ชจ์ž„ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ๋ฆผ ๋ฐ›๋„๋ก topic ๊ธฐ๋Šฅ ์‚ฌ์šฉ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„ ํฌํ•จํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ์˜ˆ์™ธ ๋ฉ”์„ธ์ง€ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ํ˜•์‹ ๊ฒ€์ฆ ๋กœ์ง ๋ถ„๋ฆฌ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ์ปจํŠธ๋กค๋Ÿฌ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ณ€๊ฒฝ ๋ฐ ์Šค์›จ๊ฑฐ ๋ฌธ์„œ ์ˆ˜์ •

- ๋””๋ฐ”์ด์Šค ํ† ํฐ ํ—ค๋” ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ƒ์„ฑ

Co-authored-by: hyeon0208 <[email protected]>

* fix: FCM ํ† ํ”ฝ ๊ตฌ๋… ๋กœ์ง ๋ถ„๋ฆฌ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Member ํ•„๋“œ์— DeviceToken ํƒ€์ž… ์‚ฌ์šฉ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: FCM ์„ค์ • ์˜ต์…˜ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ enable ๋กœ์ง ์ œ๊ฑฐ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: FCM message ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ์œผ๋กœ `taskScheduler.schedule()` ํ˜ธ์ถœ ์‹œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ ์„ ์œ„ํ•ด AndroidNotification ๋ณ€์ˆ˜ ์„ ์–ธ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Fixture์— private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

Co-authored-by: hyeon0208 <[email protected]>

* refactor: IntegrationTest -> BaseControllerTest ์ด๋ฆ„ ๋ณ€๊ฒฝ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: test application.yml ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: hyeon0208 <[email protected]>

* refactor: ๋กฌ๋ณต์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  Fixture private ์ƒ์„ฑ์ž ์ถ”๊ฐ€

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: H <[email protected]>

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ Preference dataStore ์„ธํŒ… (#104)

* chore: preference datastore ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๋ณต์‚ฌ preference datastore ๊ธฐ์ดˆ ์„ธํŒ…

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ/๊ฐœ์„ค ์‹œ ๋ทฐ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ #93 (#105)

* feat: ์ž…๋ ฅ๊ฐ’ ์œ ํšจ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”๋˜๋„๋ก ๊ตฌํ˜„

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์Šค์™€์ดํ”„๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: startActivity ๋ฐฉ์‹์„ getIntent๋กœ ๋ณ€๊ฒฝ

* feat: ๋‹ค์Œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™” ๋˜๋„๋ก ๊ตฌํ˜„

* fix: ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ Event๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ฐ์ดํ„ฐ viewModel์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ™”๋ฉด ํ”Œ๋กœ์šฐ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: Swagger์—์„œ API ํ˜ธ์ถœ ์‹œ Bad Request ์‘๋‹ต ์˜ค๋ฅ˜ (#107)

* refactor: `common/annotation` ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์˜คํƒ€ ์ˆ˜์ •

* refactor: Authorization ํ—ค๋” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ

- ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ DeviceTokenHeader ์ œ๊ฑฐ
- ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ˆ˜์ •

* fix: ๋ฉค๋ฒ„ ์ถ”๊ฐ€ ์‹œ ๋ฉค๋ฒ„ ๊ฒ€์ฆ ๋กœ์ง ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* fix: nickname ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* fix: LocalDate, LocalTime Swagger ์ƒ ํƒ€์ž… ํ‘œํ˜„ string์œผ๋กœ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: ๋‹‰๋„ค์ž„์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•จ์— ๋”ฐ๋ฅธ getter ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: hyeon0208 <[email protected]>

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#61)

* feat: ๋ชจ์ž„ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* style: ํ•œ์ค„์— ํ•œ๊ฐœ์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋””์ฝ”๋”ฉ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์„œ๋ฒ„ ํ—ค๋” ํ˜•์‹ ๋ณ€๊ฒฝ (#112)

* feat: ๋กœ๊ทธ ํ™”๋ฉด ๊ตฌํ˜„ (#108)

* feat: Notification ๋„๋ฉ”์ธ ํƒ€์ž… ์ •์˜

* feat: api ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š” NotificationLog ํƒ€์ž… ์ •์˜

* feat: retrofit์˜ NotificationService ๊ตฌํ˜„

* feat: NotificationLogRepository์˜ ๋ช…์„ธ์™€ ๊ธฐ๋ณธ Repository ๊ตฌํ˜„

* refactor: NotificationLog -> NotificationEntity

* design: item_notification_log.xml ์ž‘์„ฑ

* feat: ํƒ€์ž… ์ถ”๊ฐ€ ์ •์˜

* chore: merge

* refactor: DefaultNotificationLogRepository ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๋ณ€๊ฒฝ

* feat: NotificationLogViewModel ๊ตฌํ˜„

* feat: NotificationLogActivity ๊ตฌํ˜„

* design: rectangle_cream_downside_radius_30.xml ์ž‘์„ฑ

* design: item_notification_log.xml ์ž‘์„ฑ

* chore: merge

* chore: merge

* feat: ๋กœ๊ทธ ๋ฆฌ์‚ฌ์ดํด๋Ÿฌ ๋ทฐ ๊ตฌํ˜„

* chore: merge

* refactor: ์•Œ๋ฆผ ๋กœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ meetingId๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋ทฐ์™€ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* chore: ์˜คํƒ€ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™”๋ฉด์—์„œ ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ViewHolder ๋ถ„๋ฆฌ

* feat: ๋‹‰๋„ค์ž„, ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ (#80)

* refactor: Nickname ๋„๋ฉ”์ธ ๊ฐœ์„ 

- OdyException ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ
- ์ด๋ฆ„ ๋ณ€๊ฒฝ (NickName -> Nickname)

* refactor: ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

- Location ํ•„๋“œ์— `@NotNull` ์ถ”๊ฐ€

* feat: ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ final ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๊ณต๋ฐฑ๋งŒ ์กด์žฌํ•˜๋Š” ๋‹‰๋„ค์ž„ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#96)

* chore: private ํŒŒ์ผ gitignore ์ถ”๊ฐ€

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API client ๋ณ€๊ฒฝ

* feat: Duration Deserializer ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: RouteClient calculateDuration ๋ฉ”์„œ๋“œ ์ˆ˜

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ถœ๋ฐœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์†Œ์š” ์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* fix: ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ response ํด๋ž˜์Šค ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ build.gradle ๊ตฌ๋ฌธ ์‚ญ์ œ

* refactor: ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ try ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์ค‘์ฒฉ๋œ ๋กœ์ง ๋ณ„๋„ ๋ณ€์ˆ˜๋กœ ์ถ”์ถœ

* refactor: ์ถ•์•ฝ๋œ exception ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ์†Œ์š”์‹œ๊ฐ„ VO ์ด๋ฆ„ ์ˆ˜์ •, Odsay api response ๊ฐ์ฒด ์ด๋ฆ„ ์ˆ˜์ •

* refactor: URI ์ƒ์„ฑ ์‹œ StringBuilder ์ ์šฉ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: ์Šค๋‚ต๋ฐ” ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ showSnackBar ํ˜•์‹ ํ†ต์ผ (#116)

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ (#87)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

request > response

* feat: NotificationRepository ๊ตฌํ˜„

* feat: dto ๋ณ€ํ™˜๋กœ์ง ๊ตฌํ˜„

* feat: notificationService ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* docs: test์šฉ ymlํŒŒ์ผ ์ถ”๊ฐ€

* refactor: notification ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* test: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: domain to dto ๊ณ„์ธต ์ด๋™

* refactor: method ์ด๋ฆ„ ์ˆ˜์ •

* test: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* style: new-line ์ถ”๊ฐ€

* chore: ๋กœ๊ทธ ๋ชฉ๋ก ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ ์ด๋™

NotificationController > MeetingController

* chore: ๋ฉ”์„œ๋“œ ๋ช… ์ผ์น˜ํ™”

findAllMeetingLogsById > findAllMeetingLogs

* chore: domain to dto ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

toResponse > from

* refactor: auditing config ๋ถ„๋ฆฌ

* chore: dto ๋ช… ๋ณ€๊ฒฝ

NotificationSaveResponse > NotiLogFindResponse
NotiLogFindResponse > NotiLogFindResponses

* chore: ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* style: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์ œ๊ฑฐ

* chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

* Revert "chore: ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ"

This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91.

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* feat: CI/CD ์Šคํฌ๋ฆฝํŠธ ๋ถ„๋ฆฌ (#126)

* chore: ci/cd script ๋ถ„๋ฆฌ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#121)

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์ ๋งŒ ์ฐ๋Š”๋‹ค. ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช…์œผ๋กœ getter ๋„ค์ด๋ฐ ์ˆ˜์ •

* chore: ์ดˆ๋Œ€์ฝ”๋“œ์ƒ์„ฑ๊ธฐ util ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ๋ชจ์ž„ ๊ฐœ์„ค API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ํšŒ์› ์ถ”๊ฐ€ API ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ firebase ์—‘์„ธ์Šค ํ‚ค ํŒŒ์ผ ์œ„์น˜๋กœ ๊ฒฝ๋กœ ์ˆ˜์ •

* feat: DB ํ…Œ์ด๋ธ” ์‚ญ์ œ ํด๋ž˜์Šค ์ถ”๊ฐ€

* test: ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”๊ฐ€

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ๋””์ฝ”๋”ฉํ•˜์—ฌ ๋ชจ์ž„๋ฐฉ ์กฐํšŒ ์ ์šฉ

* refactor: entityManger ์˜์กด์„ฑ ์ฃผ์ž… ์ถ”๊ฐ€

* fix: ํšŒ์› ์ƒ์„ฑ, ๋ชจ์ž„ ์ฐธ์—ฌ API ์˜ค๋ฅ˜ ์ˆ˜์ • (#127)

* fix: deviceToken unique, notnull ์†์„ฑ ์ ์šฉ

* fix: deviceToken ๊ณต๋ฐฑ ๊ฒ€์ฆ ๋กœ์ง ์ ์šฉ

* style: import ์žฌ์ •๋ ฌ

* feat: deviceToken ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

* refactor: findDeviceToken ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 

* feat: ํšŒ์› ์ƒ์„ฑ์‹œ ํ† ํฐ ์ค‘๋ณต ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat: mate ํ…Œ์ด๋ธ”์˜ memberId, meetingId unique ์„ค์ •

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ์‹œ ์ค‘๋ณต ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค์‹œ mate์—๋„ ํšŒ์› ์ •๋ณด ์ €์žฅ

* refactor: DeviceToken NotNull ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ๋ชจ์ž„ ๋‚ด ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์ฆ (#119)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€ (#123)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ API ์ถ”๊ฐ€

* feat: 404๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ถ”๊ฐ€

* test: 404 ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#131)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* feat: ํŠน์ • ํšŒ์›์ด ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๊ตฌํ˜„ (#129)

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ์ฟผ๋ฆฌ ๊ตฌํ˜„

* feat: ๋ฉค๋ฒ„๊ฐ€ ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: token fixture ์ถ”๊ฐ€

* style: static import ์ œ๊ฑฐ

* test: ๋ฉค๋ฒ„ ์ฐธ์—ฌ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: NotificationRepositoryTest directory ์ด๋™

* test: ๊ฐ„์„ญ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ disabled ์ฒ˜๋ฆฌ

* fix: test ์˜ค๋ฅ˜ ๊ฐœ์„ 

* fix: import ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* feat: ๋‹ค์Œ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#122)

* refactor: LivaData set value ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๋ทฐํŽ˜์ด์ € ์Šค์™€์ดํ”„ ๋ง‰๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ทฐํŽ˜์ด์ € ํ™”๋ฉด ์ด๋™ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* fix: ๋ชจ์ž„ ์‹œ๊ฐ„ ์œ ํšจํ•˜์ง€ ์•Š์•„๋„ ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: nextPage -> moveOnNextPage ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ๊ฐœ์„ค ์™„๋ฃŒ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Notification ๊ตฌํ˜„ (#128)

* feat: Notification ๋ฉ”์‹œ์ง€ ๋ฐ”๋กœ ์ถœ๋ ฅ

* chore: ์˜์กด์„ฑ ์ถ”๊ฐ€

* fix: ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ์˜ํ•œ import ๋ณ€๊ฒฝ

* feat: ์•Œ๋ฆผ ํƒ€์ž…์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* feat: fcm์„ ์œ„ํ•œ string ์ž‘์„ฑ

* feat: ์•Œ๋ฆผ ๋กœ๊ทธ ํ™”๋ฉด์— bottom dialog ์ ์šฉ (#130)

* chore: domain ํŒจํ‚ค์ง€ ์ •๋ฆฌ

* chore: ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: meeting domain model์— ์ดˆ๋Œ€์ฝ”๋“œ ์ถ”๊ฐ€

* feat: NotificationLogActivity์— bottom sheet ๊ธฐ๋Šฅ ๋ณ‘ํ•ฉ

* refactor: FakeRepo์—์„œ DefaultRepo๋กœ ๋ณ€๊ฒฝ

* design: elevation ์ˆ˜์ •

* fix: app ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€

* fix: manifest ์ˆ˜์ •

* refactor: FCM ์ „์†ก ๋ฐ์ดํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์š”์ฒญ์‚ฌํ•ญ ๋ฐ˜์˜ (#136)

* fix: ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ (#137)

* fix: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์„ฑ๊ณต ์‹œ ์ฐธ์—ฌ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ • (#133)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ (#139)

* feat: ๋ชจ์ž„ ๊ฐœ์„ค service, request, response ๊ตฌํ˜„

* feat: MeetingRepository์— postMeeting ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: meeting response ์ „๋‹ฌ ๋ฐ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ €์žฅ ๊ตฌํ˜„

* chore: okhttp logging ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Http Logging ์ถ”๊ฐ€

* chore: ์˜คํƒ€ ์ˆ˜์ •

* feat: MeetingService postMeeting ์ถ”๊ฐ€

* chore: Timber ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* chore: ํ‚ค์— ๋งž๋Š” ์ธํ…ํŠธ๋กœ ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค api ์—ฐ๊ฒฐ

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ (#140)

* feat: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ ๋ฐ ์ ์šฉ

* fix: fcmPushSender MockBean ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์‹คํŒจ ์›์ธ ํŒŒ์•… ๋ฐ ์„ฑ๊ณต์„ ์œ„ํ•ด `@Disabled` ์ฒ˜๋ฆฌ

- NotificationService ๋‚ด์—์„œ RouteClient ์ ‘๊ทผํ•ด์„œ ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: ๋ชจ์ž„ ์ฐธ์—ฌ ์„œ๋ฒ„ ์—ฐ๊ฒฐ (#143)

* feat: ์„œ๋ฒ„ ์ฐธ์—ฌ api ์—ฐ๊ฒฐ

* style: ktlint ์ˆ˜์ •

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ ๋ฐ ๋ฉ”์„œ๋“œ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ (#142)

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์— ์ฐธ์—ฌ, ์•„๋‹ ๊ฒฝ์šฐ ์ธํŠธ๋กœ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜•

* feat: ์ฐธ์—ฌํ•œ ๋ชจ์ž„ ์ค‘ ์ฒซ ๋ฒˆ์งธ ๋ชจ์ž„์˜ ๋กœ๊ทธ๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ์ž์ž˜ํ•œ ux ๋ฒ„๊ทธ ๋‹ค์ˆ˜ ์ˆ˜์ • (#145)

* fix: import ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: NumberPicker ๋””ํดํŠธ ๊ฐ’์ด ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์ฃผ์†Œ EditText ํ•œ์ค„๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: ์œ ํšจํ•œ ๋‚ ์งœ ์„ ํƒ ์‹œ์—๋„ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์Šค๋‚ต๋ฐ” ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ ์ˆ˜์ •

* fix: back press ์‹œ ์ด์ „ fragment๋กœ ์ด๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋ฐ”ํ…€ ์‹œํŠธ stroke ์ œ๊ฑฐ ๋ฐ elevation ์ถ”๊ฐ€

* feat: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ ์„ค์ • ๋ฐ ๋ˆ„๋ฝ๋œ ๋ชจ์ž„์žฅ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€ (#146)

* chore: EC2 ์„œ๋ฒ„์˜ H2 ์ฝ˜์†” ์ ‘๊ทผ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ API์—์„œ ๋ˆ„๋ฝ๋œ ์•Œ๋ฆผ ๋กœ์ง ์ถ”๊ฐ€

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

* fix: ODsay ์‚ฌ์šฉํ•˜๋Š” MeetingControllerTest ์ฝ”๋“œ Disabled ์ฒ˜๋ฆฌ

---------

Co-authored-by: H <[email protected]>

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#149)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ (#151)

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: FCM ํ† ํ”ฝ Malformed topic name ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* fix: LocalDateTime mapping ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* fix: LocalDateTime mapping ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#174)

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

* refactor: startingpoint -> departure ํŒจํ‚ค์ง€ ๋ช… ๋ณ€๊ฒฝ

* refactor: NotificationLogListAdapter -> NotificationLogsAdapter ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: notificationlog -> meetingRoom ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* refactor : NPE ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

Co-authored-by: H <[email protected]>

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

* design: colors ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋กโ€ฆ
mzeong added a commit that referenced this pull request Oct 22, 2024
* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#174)

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

* refactor: startingpoint -> departure ํŒจํ‚ค์ง€ ๋ช… ๋ณ€๊ฒฝ

* refactor: NotificationLogListAdapter -> NotificationLogsAdapter ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: notificationlog -> meetingRoom ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* refactor : NPE ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

Co-authored-by: H <[email protected]>

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

* design: colors ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-โ€ฆ
mzeong added a commit that referenced this pull request Oct 22, 2024
* fix: ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ํ† ํ”ฝ์— ๋“ค์–ด๊ฐ„ ์ฝ”๋“œ ์ˆ˜์ • (#153)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#157)

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ๊ทธ๋ฆผ์ž drawable ์ˆ˜์ •

* fix: LocalDateTime mapping ๋ฐฉ์‹ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ”์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* fix: fcm ํ† ํฐ ์—†๋Š” ๊ฒฝ์šฐ meetings๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: Meetings -> MeetingsResponse ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* fix: LocalDateTime mapping ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ ์‹œ ์Šค๋‚ต๋ฐ” ์ œ๊ฑฐ

* fix: LocalDateTime mapping ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์‹œ ๊นœ๋นก์ด๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: CalendarView -> DatePicker๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‚ ์งœ ์„ ํƒ ๋ถˆ๊ฐ€ ๋ฒ„๊ทธ ์ˆ˜์ • (#155)

* ๏ฟฝfeat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ๊ณผ๊ฑฐ์ˆœ ์ •๋ ฌ (#144)

* refactor: ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ์–ด๋…ธํ…Œ์ด์…˜ ์ ์šฉ

* refactor: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆœ์œผ๋กœ ์•Œ๋ฆผ ๋กœ๊ทธ ์ •๋ ฌ

* test: ๋ชจ์ž„ ๋ฐ˜ํ™˜ ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ํ˜„์žฌ ์ด์ „์˜ ๋กœ๊ทธ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotiLog ๋ฐ”์ธ๋”ฉ ์ˆ˜์ •

createdAt > sendAt

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ

* refactor: LocalTime ๋ฐ€๋ฆฌ ์„ธ์ปจ์ฆˆ ์ œ๊ฑฐ

* test: ๋กœ๊ทธ ํ•„ํ„ฐ๋ง ์ ์šฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•Œ๋ฆผ ์ „์†ก ์˜ˆ์•ฝ ์‹œ์ ์ด ์•„๋‹Œ ์ „์†ก ์‹œ์ ์— ์ƒํƒœ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ˆ˜์ • (#162)

- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ
- updateDone -> updateStatusToDone ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
- ์‹œ์—ฐ์„ ์œ„ํ•ด ์•Œ๋ฆผ ์ „์†ก ์‹œ๊ฐ„ ์ž„์˜ ์ง€์ •
- FcmSendRequest ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„ (#164)

* feat: ์ดˆ๋Œ€์ฝ”๋“œ ์กด์žฌ์œ ๋ฌด ๊ฒ€์ฆ๋กœ์ง ๊ตฌํ˜„

* refactor: id ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์กฐํšŒ๋กœ ๋กœ์ง ๋ณ€๊ฒฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก (#165)

* chore: RequestDto ํŒจํ‚ค์ง€ ์œ„์น˜ ์ด๋™

* style: ์ปจํŠธ๋กค๋Ÿฌ ์ปจ๋ฒค์…˜ ๊ฐœํ–‰ ์ ์šฉ

* feat: ๋ชจ์ž„ ์ž…์žฅ ์‹œ ENTRY ์•Œ๋ฆผ ์ €์žฅ, ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•Œ๋ฆผ ์ „์†ก ์ฝ”๋“œ ๊ฐœ์„ 

* refactor: ๋ณธ์ธ์˜ ์ž…์žฅ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์€ ์•ˆ๋œจ๋„๋ก fcm ํ† ํ”ฝ ๊ตฌ๋… ์ˆœ์„œ ๋ณ€๊ฒฝ

* fix: ์Šคํ”Œ๋ž˜์‰ฌ ๋”œ๋ ˆ์ด ์ˆ˜์ • (#163)

* fix: ์Šคํ”Œ๋ž˜์‰ฌ delay ์ˆ˜์ •

* fix: LocalDateTime parse ํ˜•์‹ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#174)

* refactor: data model -> data entity๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: entity -> remote ํŒจํ‚ค์ง€ ์•„๋ž˜๋กœ ์ด๋™

* refactor: ๊ฐ entity ์•ˆ์— request, response ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ๋ฐ remote ํŒจํ‚ค์ง€ ์•„๋ž˜์— Ody api๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํŒจํ‚ค์ง€, FCM ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: domain - repository ์•„๋ž˜ ์ด์Šˆ ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* refactor: presentation common ๋งŒ๋“ค๊ธฐ

* refactor: startingpoint -> departure ํŒจํ‚ค์ง€ ๋ช… ๋ณ€๊ฒฝ

* refactor: NotificationLogListAdapter -> NotificationLogsAdapter ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* refactor: notificationlog -> meetingRoom ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: startingpoint -> departure xml ๋ช… ๋ณ€๊ฒฝ

* refactor: domain์œผ๋กœ AddressValidator ์ด๋™

* refactor: presentation - listener ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

* refactor: presentation ui ๋ชจ๋ธ์€ presentation model ํŒจํ‚ค์ง€ ์•ˆ์— ๋„ฃ๊ธฐ

* refactor: data - fake -> ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ์ชฝ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: meeting ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  meeting๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: join ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ณ  join๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค ์ด๋™

* refactor: DepartureFragment -> JoinDepartureFragment๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จผํŠธ ๋ช… ๋ณ€๊ฒฝ

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room ์œผ๋กœ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* refactor: data - remote - thirdparty, core๋กœ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ

* style: ktlint

* style: ktlint

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ (#184)

* refactor: manifest tools ์†์„ฑ ์ œ๊ฑฐ

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* test: RouteClient Mock ํ…Œ์ŠคํŠธ (#177)

* test: ๊ธธ์ฐพ๊ธฐ api ์„ฑ๊ณต restClient MockTest

* test: ๋„์ฐฉ์ง€์™€ ์ถœ๋ฐœ์ง€๊ฐ€ 700m ์ด๋‚ด์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: 500 ์—๋Ÿฌ ์‹œ์—๋งŒ OdyServerErrorException ๋ฐœ์ƒํ•˜๋„๋ก ์ˆ˜์ •

* test: ์ž˜๋ชป๋œ api-key ์š”์ฒญ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํด๋ผ์ด์–ธํŠธ ์˜ˆ์™ธ ๋ฐœ์ƒ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: static ํ‚ค์›Œ๋“œ ์‚ญ์ œ

* refactor: RouteClient ์ธํ„ฐํŽ˜์ด์Šคํ™”

* test: service layer FakeRouteClient ์ ์šฉ

* test: controller layer FakeRouteClient ์ ์šฉ, @Disabled ์ œ๊ฑฐ

* test: RouteClient ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

* refactor: URI ์ƒ์„ฑ ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: NPE ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ๋ถˆํ•„์š”ํ•œ RouteClient ์„ค์ • ์ œ๊ฑฐ

* refactor: Event -> SingleLiveData๋กœ ๊ฐœ์„  (#185)

* feat: SingleLiveData ์ถ”๊ฐ€

* refactor: Event -> SingleLiveData ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: open ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ชจ์ž„ ๋‚ ์งœ๋ฅผ LocalDate๋กœ ๊ด€๋ฆฌ (#186)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ (#193)

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#189)

* chore: ํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ

initializeObservingData -> initializeObserve

* refactor: SingleLiveData์˜ ํƒ€์ž…์„ Boolean์—์„œ Unit์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์•ฝ์† ๋‚ ์งœ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ViewModel๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜, ํ”„๋กœํผํ‹ฐ ์ˆœ์„œ ๋ณ€๊ฒฝ

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™ (#182)

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ Mapper.kt ์—์„œ ๊ฐ Model์˜ ๋ฉ”์„œ๋“œ๋กœ ์ด๋™

* refactor: ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋“ค ๊ฐ Mapper๋กœ ์ด๋™

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (#166)

* feat: ์•Œ๋ฆผ ์ƒ์„ฑ ์‹œ์ ์ด ์ „์†ก ์‹œ์ ๋ณด๋‹ค ๋Šฆ์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor: ์ƒ์„ฑ์ž ์ ‘๊ทผ์ œ์–ด์ž ์ˆ˜์ •, ์ฃผ์„ ์ œ๊ฑฐ

* test: SpyBean ์ œ๊ฑฐ

* refactor: DepartureTime์ด ์‹œ๊ฐ„ ๋น„๊ตํ•˜๋„๋ก ์ˆ˜์ •

* test: assertThat ๊ตฌ๋ฌธ์—์„œ when ์ ˆ ๋ถ„๋ฆฌ

* test: findAny()๋กœ ๋ณ€๊ฒฝ

* test: ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ˆ˜์ •

* test: ๊ฒ€์ฆ๋ถ€ filter ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: application์—์„œ repository, datastore, retrofit service ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (#183)

* refactor: ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋“ค Application์œผ๋กœ ์ด๋™

* refactor: ํƒ€์ž… ์ด๋ฆ„ ๋ช…์‹œ

* refactor: datastore ํ˜ธ์ถœ ๋ถ€๋ถ„์„ repository ๊ณ„์ธต์„ ๊ฑฐ์น˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ViewModelFactory ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ์ƒ์„ฑํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: fcm ํ† ํฐ ์ƒˆ๋กœ์šด ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ repository์— ์ €์žฅ

* chore: merge ์ž‘์—…

* refactor: Splash ํ™”๋ฉด ์ด๋™ ํŒ๋‹จ ๋กœ์ง์„ ๋ทฐ๋ชจ๋ธ๋กœ ์ด๋™

* style: ktLint ์ ์šฉ

* refactor: ์•ฝ์† ์‹œ๊ฐ„์ด ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง์„ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™” (#188)

* refactor: RouteClient ์‘๋‹ต ๋ถ„๊ธฐ๋ฅผ ๊ฐ์ฒด๋กœ ์บก์Šํ™”

* chore: ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ

domain > dto

* refactor : ์‘๋‹ต ๋งคํ•‘ ๋กœ์ง์„ mapper๋กœ ์ด์ „

* refactor : ๋ถˆํ•„์š”ํ•œ static ๊ฐ์ฒด ์‚ญ์ œ

* refactor : 500์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* refactor : NPE ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* refactor : ๋กฌ๋ณต์œผ๋กœ private ์ƒ์„ฑ์ž ๊ตฌํ˜„

* test: OdsayResponseMapperTest ์ž‘์„ฑ

* style: message ๊ฐœํ–‰ ๋ณ€๊ฒฝ

Co-authored-by: H <[email protected]>

* refactor: OdsayRouteClient์— mapper ๋กœ์ง ๋ฐ˜์˜

* fix: FutureOrPresentDateTimeValidatorTest ์˜ค๋ฅ˜ ๊ฐœ์„ 

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>

* design: ํฐํŠธ, ์ปฌ๋Ÿฌ xml ์ง€์ • (#219)

* design: font ์Šคํƒ€์ผ ์ถ”๊ฐ€

* design: colors ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* design: ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๋ฆฌํŒฉํ„ฐ๋ง (#196)

* refactor: FCMService์™€ NotificationHelper ๋ถ„๋ฆฌ

* refactor: ์•Œ๋ฆผ ๊ถŒํ•œ์ด ์ด๋ฏธ ์žˆ์„ ์‹œ early return, viewmodel ์ด๋ฆ„ ์ˆ˜์ •

* refactor: NotificationLog Result ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: MeetingRoomViewModel ์ดˆ๊ธฐํ™” init ๋ธ”๋Ÿญ ๋‚ด ์‹คํ–‰, Timber ๋กœ๊ทธ ๋‚ด toString ์ œ๊ฑฐ

* style: ktLintFormat

* fix: NotificationLog repo ์ˆ˜์ •์— ๋”ฐ๋ฅธ FakeRepository ์ˆ˜์ •

* style: ktLintFormat

* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœโ€ฆ
eun-byeol added a commit that referenced this pull request Oct 23, 2024
* refactor: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ๋ฆฌํŒฉํ„ฐ๋ง (#218)

* refactor: JoinCompleteActivity์—์„œ ๋ฐฉ ๋งŒ๋“ค๊ณ  ๋ฐฉ ์ฐธ์—ฌํ•˜๋˜ ๋กœ์ง์„ MeetingCreationViewModel๋กœ ์ด๋™

* refactor: clickListener๋“ค ๋ฉ”์„œ๋“œ ์•ž์— on prefix ์ถ”๊ฐ€

* refactor: Repository ๋ฐ˜ํ™˜๊ฐ’ MeetingResponse๋“ค -> Meeing๋กœ ๋ณ€๊ฒฝ

* refactor: JoinInfoRequest -> MeetingJoinInfo๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo๋กœ ๋ณ€๊ฒฝ

* refactor: MeetingCreationNavigateAction ๊ตฌํ˜„

* refactor: MeetingJoinNavigateAction ๊ตฌํ˜„

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐ˜ํ™˜๊ฐ’ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: name, date ๋„ ์ฒดํฌ ์ถ”๊ฐ€

* refactor: ์ขŒํ‘œ ์••์ถ• ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ data ๊ณ„์ธต์œผ๋กœ ์ด๋™

* refactor: join nickname ๋„ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* style: ktlint

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

Co-authored-by: aprilgom <[email protected]>

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: kimhm0728 <[email protected]>

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ testโ€ฆ
eun-byeol added a commit that referenced this pull request Oct 23, 2024
* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#181)

* refactor: ์„œ๋น„์Šค๊ฐ€ DTO ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* fix: ํ•˜๋‚˜์˜ stream์œผ๋กœ dto ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •์„ ์œ„ํ•œ import ์ถ”๊ฐ€

* refactor: FcmPushSender ๋‚ด Notification ์•Œ๋ฆผ ์กฐํšŒ ๋กœ์ง ์ œ๊ฑฐ

- getNickname ๋ฐ˜ํ™˜ ํƒ€์ž… ์ˆ˜์ •
- `@Async` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ FcmEventScheduler ํŒŒ์ผ ์‚ญ์ œ
- FcmSendRequest ํ•„๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* fix: FcmSendRequest ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: hyeon0208 <[email protected]>

* refactor: Nickname ๊ฐ์ฒด ํ•„๋“œ๋ช… value๋กœ ์ˆ˜

Co-authored-by: hyeon0208 <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>

* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

Co-authored-by: aprilgom <[email protected]>

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: kimhm0728 <[email protected]>

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กดโ€ฆ
coli-geonwoo added a commit that referenced this pull request Oct 23, 2024
* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

Co-authored-by: aprilgom <[email protected]>

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: kimhm0728 <[email protected]>

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

* chore: dotsibdicator ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp ๋ฒ„์ „ โ€ฆ
kimhm0728 added a commit that referenced this pull request Oct 23, 2024
* refactor: BaseActivity, BaseFragment (#220)

* feat: BindingActivity, BindingFragment ๊ตฌํ˜„

* style: ktlint

* refactor: showSnackbar ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ๋ฐ binding by lazy ์‚ฌ์šฉ, application private ์ œ๊ฑฐ

* refactor: showSnackbar ๋ฉ”์„œ๋“œ message ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ application ์ถ”๊ฐ€

* refactor: BindingActivity, BindingFragment ์ ์šฉ

* style: ktlint

* refactor: BindingActivity์— initializeBinding ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ์ž‘์„ฑ (#242)

* docs: ์•ฝ์† ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#246)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* docs: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๋ฌธ์„œํ™” (#245)

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”๏ฟฝ (#243)

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์„ค์ •

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž eta ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋„์ฐฉ ์กฐ๊ฑด์ด ๋น ๋ฅธ ์ƒํƒœ ์ˆœ์œผ๋กœ ์ƒ์ˆ˜ ์ •๋ ฌ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API ๋ฌธ์„œ ์ƒ์œผ๋กœ ๋„์ฐฉ์ง€๊นŒ์ง€ ๋‚จ์€ ์†Œ์š”์‹œ๊ฐ„์ด "๋ถ„"์ž„์„ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400์—๋Ÿฌ ์‹œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ด์œ  ์ž์„ธํžˆ ๋ช…์‹œ

Co-authored-by: coli-geonwoo <[email protected]>

* docs: ์ฐธ์—ฌ์ž ์œ„์น˜ ์ƒํƒœ ์กฐํšŒ ์š”์ฒญ dto ์œ„๊ฒฝ๋„ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO๋ช… MateEtaxx๋กœ ์ˆ˜์ •

* docs: 400์—๋Ÿฌ ์„ค๋ช… ์ƒ์„ธํ™”

* fix: MateResponse ํŒŒ์ผ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* docs: ์•ฝ์† ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#249)

* feat: ์•ฝ์† ๊ฐœ์„ค v1 api dto ๊ตฌํ˜„

* docs: ์•ฝ์† ๊ฐœ์„ค v1 API ๋ฌธ์„œํ™”

* style: ์ถ”๊ฐ€ ๊ฐœํ–‰ ์‚ญ์ œ

Co-authored-by: mzeong <[email protected]>

* docs: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : ๋ชจ์ž„ > ์•ฝ์† ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor : ์•ฝ์† ๊ฐœ์„ค API ๊ตฌํ˜„ (#250)

* feat: controller ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์•ฝ์† ๊ฐœ์„ค v1 ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor : dto ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor : ๋ชจ์ž„ > ์•ฝ์† ์šฉ์–ด ํ†ต์ผ

* style: ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: statusCode ์ˆซ์ž๋กœ ํ‘œ๊ธฐ

* test: deprecated ์˜ต์…˜ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋ทฐ ๋””์ž์ธ (#248)

* chore: ์˜ค๋”” ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ๋ณด๋ผ์ƒ‰ ๋‘ฅ๊ทผ ์‚ฌ๊ฐํ˜• drawable ์ถ”๊ฐ€

* design: ๋กœ๊ทธ ํ™”๋ฉด ์˜ค๋””? ๋ฒ„ํŠผ ๋””์ž์ธ

* refactor: selector์— ์ƒ‰์ƒ ์ œ๊ฑฐ

* design: ์˜ค๋””? ๋ฒ„ํŠผ padding 10dp๋กœ ๋ณ€๊ฒฝ

* refactor: meeting_room_ody -> meeting_room_dashboard_button ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: rectangle_radius_0.xml ํŒŒ์ผ ์ถ”๊ฐ€

* design: ๋ณต์‚ฌํ•˜๊ธฐ ๋ฒ„ํŠผ์— ์ƒ‰์ƒ ์ถ”๊ฐ€

* chore: selector_button_color.xml ์ถ”๊ฐ€ ๋ฐ Button -> AppCompatButton์œผ๋กœ ๋ณ€๊ฒฝ

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ ํ™•์ธ ๋ฒ„ํŠผ์— tint ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋””์ž์ธ (#252)

* design: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ํ™”๋ฉด item ๋””์ž์ธ ๊ตฌํ˜„

* design: xml ํŒŒ์ผ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ํˆด๋ฐ”์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* design: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๊ตฌํ˜„

* chore: string resource ์ด๋ฆ„ ๋ณ€๊ฒฝ

* fix: ๋ฑƒ์ง€ ์ค‘์•™ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* refactor: layoutManager xml๋กœ ์ด๋™

* chore: meeting room ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* feat: manifest์— ํ˜„ํ™ฉ ํ™”๋ฉด ์ถ”๊ฐ€

* chore: eta -> etadashboard ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* refactor: ๋ชจ์ž„ ๊ฐœ์„ค, ์ฐธ์—ฌ api ๋ถ„๋ฆฌํ•˜๊ธฐ (#255)

* refactor: ์•ฝ์† ๊ฐœ์„ค v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ v1 api์— ๋งž๊ฒŒ ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ์•ฝ์† ์ฐธ์—ฌ/๊ฐœ์„ค ๋ทฐ๋ชจ๋ธ ๋ถ„๋ฆฌ

* fix: MeetingResponse mapping ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ์•ฝ์† ์ฐธ์—ฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* chore: startingPoint -> departure ํ”„๋กœํผํ‹ฐ๋ช… ๋ณ€๊ฒฝ

* chore: ์“ฐ์ด์ง€ ์•Š๋Š” indicator ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ (#260)

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด api v1 ์—ฐ๊ฒฐ (#261)

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ api dto ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ Repository ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ V1 API ๊ตฌํ˜„ (#247)

* docs: 404์—๋Ÿฌ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* docs: Swagger ํšŒ์› ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* refactor: AliasFor ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ApiResponse ์†์„ฑ๊ฐ’ ๋งคํ•‘

* refactor: api url ๋ฒ„์ „๋ช… ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ /mates ์š”์ฒญ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: ์•ฝ์† ์ฐธ์—ฌ v1 API ๊ตฌํ˜„

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* chore: mate ํŒจํ‚ค์ง€๋กœ ์ด๋™

* feat: ์ฐธ์—ฌ์ž ์ €์žฅ ์‘๋‹ต DTO ์ถ”๊ฐ€ ๋ฐ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ๋ฆฌ์ŠคํŠธ ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ @ArraySchema ์‚ฌ์šฉํ•ด ํ‘œ์‹œ

* refactor: ์ง€์›ํ•˜์ง€ ์•Š๋Š” meeting ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* design: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์—†๋Š” ๊ฒฝ์šฐ ๋””์ž์ธ (#262)

* design: ๋ชจ์ž„์ด ์—†์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ (#263)

* chore: ํ•˜์–€์ƒ‰ ์ทจ์†Œ, ๋”ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* design: ํ™ˆ ํ™”๋ฉด ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋””์ž์ธ

* fix: FakeMeetingRepository postMeeting ๋ฐ˜ํ™˜ ๊ฐ’ ์ˆ˜์ •

* style: ktlint

* fix: FakeMeetingRepository patchMatesEta ์ถ”๊ฐ€

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#265)

* feat: Eta item์— ๋Œ€ํ•œ uiModel ๊ตฌํ˜„

* feat: adapter ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์—ฐ๊ฒฐ

* style: ktLint ์ ์šฉ

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์œ„์น˜ ๊ถŒํ•œ ํŒ์—… ๋„์šฐ๋Š” ๋กœ์ง ๊ตฌํ˜„

* refactor: missing tooltip ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: Pair ๋Œ€์‹  Point ๊ฐ์ฒด ์‚ฌ์šฉ

* refactor: magic number ์ œ๊ฑฐ ๋ฐ DurationMinuteType ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” ๋ฐ ๊ตฌํ˜„ (#251)

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

- Swagger ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ด์ „ ๋ฒ„์ „ API deprecated ์„ค์ •
- ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ์— ์ž„์‹œ ๋ฐ˜ํ™˜์„ ์œ„ํ•œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
- ์‘๋‹ต์„ ์œ„ํ•œ dto ์ƒ์„ฑ ๋ฐ ๋ฌธ์„œ๋ฅผ ์œ„ํ•œ ์˜ˆ์‹œ์™€ ์„ค๋ช… ์ถ”๊ฐ€

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ API

* fix: fixture ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์ฝ”๋“œ ์ œ๊ฑฐ

* fix: cherry-pick ์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ fixture member ๊ฐ์ฒด ๋ฏธ์‚ฌ์šฉ ์ฝ”๋“œ๋กœ ์ˆ˜

* fix: meetingService, mateService ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* fix: fixture meeting ๊ฐ์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ unique ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐ˜

* refactor: `saveAndSendNotifications` ํ˜ธ์ถœํ•˜๋Š” MeetingService ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* refactor: `findByMeetingAndMember` ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ํ•ด๋‹น ๋กœ์ง meetingService ๋‚ด์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰

* fix: ๋ชจ์ž„ ๊ตฌ๋… ์‹œ ์‹คํŒจ

* refactor: ์•ฝ์† ์ธ์› ์ˆ˜, ๋ฉ”์ดํŠธ๋กœ ์‘๋‹ต ์ƒ์„ฑ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* fix: ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ดˆ ์ œ๊ฑฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ • (#270)

* refactor: v1/mates ์‘๋‹ต๊ฐ’ ์ˆ˜์ • (#268)

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ์‹œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* feat: LocalTime์˜ ss ์ œ๊ฑฐ

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ํ™”๋ฉด ์ด๋™ ๊ตฌํ˜„ (#271)

* feat: ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ด๋™ํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* fix: ์•ฝ์† ์ฐธ์—ฌ ๋ฒผํŠผ์„ ๋ˆŒ๋Ÿฟ์„ ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ํ•œ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ํ™ˆ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ ๊ตฌํ˜„ (#272)

* feat: ListAdapter ๊ตฌํ˜„

* feat: item fold ๊ตฌํ˜„

* feat: ์•ฝ์† ์‹œ๊ฐ„ ๋ฐ”์ธ๋”ฉ ์–ด๋Œ‘ํ„ฐ

* feat: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฆฌ์ŠคํŠธ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ํด๋ง ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง ๊ตฌํ˜„ (#274)

* config: WorkManager ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: WorkManager ์ž‘์—… ์˜ˆ์•ฝํ•  Worker ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์ž‘์—… ์˜ˆ์•ฝ ํ•˜๋Š” ๋กœ์ง์„ ๊ฐ€์ง„ Repository ์ถ”๊ฐ€

Co-authored-by: haeum808 <[email protected]>

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ 31๋ฒˆ ์ž‘์—… ์˜ˆ์•ฝํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* feat: ์œ ์ € ํ˜„ํ™ฉ ํ™”๋ฉด์—์„œ ๋ฐ์ดํ„ฐ LiveData ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* style: ktLint ์ ์šฉ

Co-authored-by: haeum808 <[email protected]>

* refactor: WorkRequest ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์„ Worker๋กœ ์ด๋™

* refactor: ํ•จ์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒ์ˆ˜ํ™”

* feat: meetingId ์ „๋‹ฌํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

Co-authored-by: haeum808 <[email protected]>

* fix: ์ฝ”๋ฃจํ‹ด ์บ”์Šฌ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API ๊ตฌํ˜„ (#256)

* refactor: mates ํ•„๋“œ @ArraySchema๋กœ ์ˆ˜์ •

* refactor: ErrorCode404 ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜์ •

* feat: ๋‚ ์งœ, ์‹œ๊ฐ„ JsonFormat ์ ์šฉ

* feat: ํšŒ์›์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํŠน์ • ์•ฝ์†์˜ ์ฐธ์—ฌ์ž ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

* test: ์•ฝ์†์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ํšŒ์›์ด ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* feat: ์•ฝ์†๊ณผ ์ฐธ์—ฌ์ž๋“ค ์ •๋ณด ์กฐํšŒ

* test: ์•ฝ์† ์กฐํšŒ ์‹œ, ์•ฝ์†์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ

* refactor: meetingId primitive type์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: JsonFormat ๋ถˆํ•„์š”ํ•œ ์˜ต์…˜ ์ œ๊ฑฐ

* test: Fixture.MATE ์ œ๊ฑฐ

* fix: import ์ถ”๊ฐ€

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์œ„์น˜ ๊ถŒํ•œ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#276)

* config: play service gms ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: ์œ„์น˜ ๊ถŒํ•œ ๋ฉ”๋‹ˆํŽ˜์ŠคํŠธ์— ์ถ”๊ฐ€

* feat: ์œ„์น˜ ๊ถŒํ•œ ์š”์ฒญ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ImageView์— ์ œ์•ฝ ๊ฑธ๊ธฐ

* fix: ๊นƒ์•ก์…” ๋ฌธ์ œ

* feat: ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ api ์—ฐ๊ฒฐ (#279)

* feat: meetings/me api ์—ฐ๊ฒฐ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* feat: ์‹œ์ž‘ ํ™”๋ฉด ๋ณ€๊ฒฝ, FloatingButton ํ†ตํ•ฉ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ ํ™”๋ฉด์œผ๋กœ navigate

* fix: ciห†

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ (#281)

* feat: ๋‹จ์ผ ์•ฝ์† api ์—ฐ๊ฒฐ

* feat: 24์‹œ๊ฐ„ ๋‚ด ๋กœ๊ทธํ™”๋ฉด ์ด๋™ ํ™œ์„ฑํ™”/ ์ด์™ธ ๋น„ํ™œ์„ฑํ™”

* fix: ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat: gps ์œ„๊ฒฝ๋„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#282)

* feat: ์œ„์น˜ ๊ฒฝ๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: log ์ œ๊ฑฐ ๋ฐ compress ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* feat: repository์—์„œ compress ํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: 0..8 ์ƒ์ˆ˜ํ™”

* refactor: ํผ๋ฏธ์…˜ ์ฒดํฌ ํ•จ์ˆ˜ํ™”

* style: ktlint

* chore: ํ•จ์ˆ˜ ๊ฐ„์†Œํ™”

* chore: repository ์š”์ฒญ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* chore: ํ•œ ์ค„๋กœ ๋ณ€๊ฒฝ

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ชฉ๋ก ์กฐํšŒ API ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#277)

* feat: ์ง์„  ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์กฐ๊ฑด๋ณ„ ์ฐธ์—ฌ์ž ์ƒํƒœ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฐธ์—ฌ์ž๊ฐ€ ์•ฝ์† ์ฐธ์—ฌ์‹œ ์ตœ์ดˆ๋กœ Eta ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์†Œ์š”์‹œ๊ฐ„ ์ถœ๋ฐœ์‹œ๊ฐ„ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: Eta, Mate ๊ด€๋ จ DTO ์ถ”๊ฐ€

* refactor: ์˜ˆ์ƒ์†Œ์š”์‹œ๊ฐ„ ํ•„๋“œ ์ถ”๊ฐ€

* feat: ์ฐธ์—ฌ์ž Eta ๋ชฉ๋ก ๋ฐ˜ํ™˜๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: Fixture ์‚ฌ์šฉ ๊ฐœ์„ ์œผ๋กœ ์ฝ”๋“œ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* test: Eta Test ์ถ”๊ฐ€

* test: eta ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: service ๋กœ์ง ๊ฒฝ๋Ÿ‰ํ™”

* refactor: ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* style: Fixture ๋ณ€์ˆ˜ ์žฌํ• ๋‹น

* feat: eta ๋ชฉ๋ก ์กฐํšŒ ์ปจํŠธ๋กค๋Ÿฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* fix: backend ํŒจํ‚ค์ง€ ํ•˜์œ„ ๋ณ€๊ฒฝ๋งŒ ์ปค๋ฐ‹ ๋‚ด์—ญ์— ํฌ

* refactor: ์ค‘๋ณต Eta dto ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>

* refactor: ์œ ์ € ์œ„์น˜ ํ˜„ํ™ฉ ์กฐํšŒ ์‹œ ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ response๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ • (#284)

* refactor: ์„œ๋ฒ„ ์‘๋‹ต์— ์ž๊ธฐ์ž์‹ ์˜ ๋‹‰๋„ค์ž„ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* fix: ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* fix: ๋นŒ๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: update ๋ฏธ๋ฐ˜์˜ ์˜ค๋ฅ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ (#287)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ (#291)

* refactor: HomeActivity -> MeetingsActivity๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๊ธฐํƒ€ home ์ œ๊ฑฐ

* style: ktLintFormatห†

* fix: ์œ ์ € ํ˜„ํ™ฉํ‘œ ํด๋ง ๋ฐฉ์‹ ์ˆ˜์ • (#292)

* refactor: ํด๋ง ๊ฐ„๊ฒฉ ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

* refactor: ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ observeํ•˜๋„๋ก ์ˆ˜์ •

Co-authored-by: haeum808 <[email protected]>

---------

Co-authored-by: haeum808 <[email protected]>

* refactor: ๋ฐ๋ชจ๋ฐ์ด ์ด์Šˆ ๋ฌธ์ œ ํ•ด๊ฒฐ  (#293)

* refactor: ํ˜„์žฌ ์œ„์น˜๋กœ ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ฐธ์—ฌ์ž์˜ ํ˜„์žฌ ์œ„๋„ ๊ฒฝ๋„ null ์ฒ˜๋ฆฌ

* refactor: ๋„์ฐฉ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜

* refactor: etaService๋ฅผ MeetingController๊ฐ€ ์˜์กดํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๊ณง๋„์ฐฉ ์กฐ๊ฑด ๋กœ์ง ๋ฉ”์„œ๋“œ๋กœ ๋ถ„๋ฆฌ

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (#304)

* feat: ํ˜„ํ™ฉ ํ™”๋ฉด ํˆด๋ฐ” ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„

* feat: ํˆด๋ฐ”์— ๋ชจ์ž„ ์ด๋ฆ„ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ์—์„œ ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด finish() (#305)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ (#306)

* fix: ๋ฆฌ์ŠคํŠธ ๊นœ๋นก์ž„ ํ˜„์ƒ ํ•ด๊ฒฐ

* refactor: ์•„์ดํ…œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์ฝ”๋“œ๋ฅผ xml๋กœ ์ด๋™

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ˜„ ํ™”๋ฉด ์—†์• ๊ธฐ ๋ฐ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€ (#301)

* fix: ๊ฐœ์„คํ•˜๊ธฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด finish()

* fix: ๊ฐœ์„คํ•˜๊ธฐ, ์ฐธ์—ฌํ•˜๊ธฐ ํ›„ ๋Œ์•„์˜ค๋ฉด ๋ฉ”๋‰ด ๋‹ซ๊ธฐ

* style: ktlint

* chore: ์˜ค๋”” ์บ๋ฆญํ„ฐ๋“ค ์ถ”๊ฐ€

* design: ์•ฝ์† ์—†์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* design: ์•ฝ์† ์ฐธ์—ฌ ํ–ˆ์„ ๋•Œ ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ถ”๊ฐ€

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: BindingAdapter ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* test: 2์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#308)

* config: ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ํ™”๋ฉด ui ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์ฃผ์†Œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* config: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: ์•ฝ์† ์ด๋ฆ„ ์ž…๋ ฅ ํ…Œ์ŠคํŠธ ์ˆ˜์ • ๋ฐ ํŒจํ‚ค์ง€ ์ด๋™

* test: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* refactor: typeText -> replaceText๋กœ ๋ณ€๊ฒฝ

* chore: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* style: given/when/then ์ž‘์„ฑ

* fix: unitTest ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

* feat: ๋กœ๊ทธ์—์„œ 30๋ถ„์ „์ด๋ฉด ์˜ค๋”” ๋ฒ„ํŠผ์ด ์•„์˜ˆ ์•ˆ๋œจ๊ฒŒ ๊ตฌํ˜„ (#309)

* fix: ์•ฝ์† ๋กœ๊ทธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#314)

* fix: ๋กœ๊ทธ list๊ฐ€ ๊นœ๋นก์ด๋Š” ๋ฌธ์ œ, ๊ทธ๋ฆผ์ž๊ฐ€ listitem์„ ๋ฎ์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* Update android/app/src/main/res/layout/activity_notification_log.xml

Co-authored-by: kimhm0728 <[email protected]>

---------

Co-authored-by: kimhm0728 <[email protected]>

* feat: ๋‚ด ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์‹œ ํ˜„์žฌ ์ดํ›„ ์•ฝ์†๋งŒ ์กฐํšŒ (#302)

* feat: ์•ฝ์† ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์•ฝ์† ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

* fix: 24์‹œ๊ฐ„ ์ „ ์•ฝ์†๋„ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ •

* fix: meeting fixture๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝtest: DisplayName ์„ค๋ช… ๊ตฌ์ฒดํ™”

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ…Œ์ŠคํŠธ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด LocalDateTime ๋ณ€์ˆ˜๋กœ ์„ ์–ธ ํ›„ ์‚ฌ์šฉ

* rafactor: ์‹œ๊ฐ„ ๋น„๊ต ์ฝ”๋“œ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* fix: ์•ฝ์† ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ (#315)

* refactor: ๋””์ž์ธ ์ˆ˜์ • ๋ฐ ํด๋ฆญ ์œ„์— ๋”ฐ๋ฅธ navigation๊ณผ fold ์ˆ˜์ •, ๊นœ๋นก์ž„ ์ˆ˜์ •

* refactor: ๋น„ํ™œ์„ฑํ™”๋œ ์˜ค๋”” ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ‘œ์‹œ ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๏ฟฝfix: ํ–‰๋ฐฉ๋ถˆ๋ช…์ƒํƒœ์˜ ์†Œ์š”์‹œ๊ฐ„ ์‘๋‹ต ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#317)

* refactor: isMissing ์†Œ์š”์‹œ๊ฐ„ ๋ฐ˜ํ™˜ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ์ €์žฅ ๋ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ ์— ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ, createAt ๋ณ€๊ฒฝ ๋ฐฉ์ง€ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: prePersist ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๋กค๋ฐฑ

* test: isModified ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ํ•ด๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#320)

* fix: ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ํ–‰๋ฐฉ๋ถˆ๋ช… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (#323)

* fix: compress ๋ฉ”์„œ๋“œ ์ˆ˜์ •, gps ์˜จ์˜คํ”„ ํ™•์ธ (#321)

* fix: compress ๋ฉ”์„œ๋“œ ์ขŒํ‘œ ๊ธธ์ด์— ์ƒ๊ด€์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž๋ฅด๊ฒŒ ๋ณ€๊ฒฝ

* fix: ์œ ์ €๊ฐ€ gps ๊ป๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* style: ktlint

* fix: ๋„์ฐฉํ•œ ์ƒํƒœ์ธ ์‚ฌ๋žŒ์˜ ์†Œ์š”์‹œ๊ฐ„์ด -1๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#325)

* fix: ํ™•์žฅ ๋ฒ„ํŠผ ํŒจ๋”ฉ 20dp ์ฃผ๊ธฐ (#329)

* fix: ๋กœ๊ทธ์—์„œ ์˜ค๋””? ๋ฒ„ํŠผ์ด 30๋ถ„ ์ „๋ถ€ํ„ฐ ๊ณ„์† ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#327)

* fix: ๋กœ๊ทธ ํ™”๋ฉด์—์„œ null์ด ์ž ๊น ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๋ทฐ ์ˆ˜์ • (#332)

* design: ์ดˆ๋Œ€ ์ฝ”๋“œ item๊ณผ ๋ชจ์ž„ ์ •๋ณด ์นธ๊ณผ์˜ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆผ (#334)

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๋กœ๊น… ํ™˜๊ฒฝ ๊ตฌ์ถ• (#337)

* feat: Analytics ๊ธฐ์ดˆ ๊ตฌํ˜„

* config: firebase crashlytics ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ํ™•์žฅ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: ๋„คํŠธ์›Œํฌ ๋กœ๊น… ๊ตฌํ˜„

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ -> ETA ํ˜„ํ™ฉ, ์•ฝ์† ๋ฐฉ -> ETA ํ˜„ํ™ฉ ์ด๋™ ๋ฒ„ํŠผ์— ๋กœ๊ทธ ์ถ”๊ฐ€

* feat: bindingFragment ์ฒด๋ฅ˜์‹œ๊ฐ„, ์ดํƒˆ ์‹œ์  ์ถ”์  ๋กœ๊ทธ

* style: ktLintFormat

* fix: rollback

---------

Co-authored-by: kimhyemin <[email protected]>

* feat: EtaDashboardViewModelTest ๊ตฌํ˜„ (#338)

* config: coroutine test ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: FakeMatesEtaRepository ์ถ”๊ฐ€

* feat: ViewModel ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค ์ถ”๊ฐ€

* feat: EtaDashBoardViewModelTest ์ถ”๊ฐ€

* style: ktlint

* chore: given, when, then ํ˜•์‹ ์ถ”๊ฐ€

* fix: ๋กœ๊ทธ ํ™”๋ฉด ๋‹‰๋„ค์ž„๋“ค ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋ณด์ด๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#341)

* feat: ๋‹‰๋„ค์ž„ ๊ธธ๋ฉด ์Šคํฌ๋กค ๋˜๊ฒŒ ๋ณ€๊ฒฝ

* style: xml ์ฝ”๋“œ reformat code

* refactor: response. requset api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋งž์ถ”๊ธฐ, ํŒจํ‚ค์ง€ ์œ„์น˜ ์ˆ˜์ • (#340)

* chore: MateEtaInfoResponse ์œ„์น˜ ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ์œ„์น˜ ๋ณ€๊ฒฝ ๋ฐ api ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ (#254)

* docs: test coverage report ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* docs : ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor : ๋‚˜๋…ธ์ดˆ ์ œ๊ฑฐ๋ฅผ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ์ˆ˜ํ–‰ (#303)

* refactor: ์‹œ๊ฐ„ ํ˜•์‹์„ ์ง๋ ฌํ™” ๋„๊ตฌ๋กœ ํ†ต์ผ

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ์ฒซ๋ฒˆ์งธ ํ–‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* test: ์ง๋ ฌํ™” ๋„๊ตฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์‹œ๊ฐ„ ๋น„๊ต ๋กœ์ง์—์„œ ์ดˆ/๋‚˜๋…ธ์ดˆ ๋‹จ์œ„ trim (#346)

* refactor: ๋‚˜๋…ธ์ดˆ/์ดˆ ์ œ๊ฑฐ๋ฅผ util ํด๋ž˜์Šค๋กœ ์ˆ˜ํ–‰

* style: ๋ถˆํ•„์š”ํ•œ import ๋ฌธ ์‚ญ์ œ

* test: 24์‹œ๊ฐ„ ์ด๋‚ด ํŒ๋‹จ๋กœ์ง ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ๊ฐœ์„ 

* chore: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

trim > trimSecondsAndNanos

---------

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: EtaStatus ๋งคํ•‘ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (#351)

* refactor: calculate()์ธ์ž๋กœ Location ํƒ€์ž…์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: eta ๋กœ์ง ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: eta ํ…Œ์ด๋ธ”์— isMissing ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* test: Eta ์˜ˆ์™ธ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: ์กฐ๊ฑด์‹ ๊ฒ€์ฆ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ•์•ฝ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* config: ์•ฑ ์ถœ์‹œ๋ฅผ ์œ„ํ•œ ์ˆ˜์ • (#350)

* config: VERSION.1_8 -> VERSION_17

* config: versionCode 1 -> versionCode 4

* config: ad id์— ๋Œ€ํ•œ ์„ค์ • ๋ฌด์‹œํ•˜๊ฒŒ ์„ค์ •

* config: parcelize, kapt, crashlytics ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ (#353)

* refactor: ๊ถŒํ•œ ์ฒดํฌ, ๊ถŒํ•œ ์š”์ฒญ ๋ถ„๋ฆฌ (#347)

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: PermissionHelper์— ์œ„์น˜, ์•Œ๋ฆผ ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: coarse, fine location ๊ถŒํžŒ์ด ํ—ˆ์šฉ๋˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ location ์š”์ฒญํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: PermissionHelper์— ๊ถŒํ•œ ์š”์ฒญํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* style: ktlint

* refactor: ํ•จ์ˆ˜ํ™”

* refactor: ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* refactor: requires API ์–ด๋…ธํ…Œ์ด์…˜ ์‚ญ์ œ

* feat: ์„œ๋ฒ„ ์‘๋‹ต 400, 500๋ฒˆ๋Œ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#359)

* feat: ApiResultCallAdapter ๊ตฌํ˜„

* feat: fetchMeetingCatalog2ห†

* feat: sample error handlingห†

* chore: renamed packageห†

* refactor: call adapter์˜ response type private๋กœ ๋ณ€๊ฒฝ

* test: FakeMeetingRepository ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* refactor: ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ ์‹œ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

* refactor: body null ์ฒดํฌ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ data -> domain

* refactor: ์„œ๋ฒ„ ์—๋Ÿฌ ๋ฆฌํ„ด์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ error -> errorMessageห†

* refactor: Extension์˜ ๋žŒ๋‹ค ์ด๋ฆ„ ๋ณ€๊ฒฝ, func -> blockห†

* refactor: nullable ํฌํ•จ

* refactor: sealed interface๋กœ ๋ณ€๊ฒฝ

* refactor: FakeMeetingRepository listOf() -> emptyList()๋กœ ๋ณ€๊ฒฝ

* refactor: ApiResultCall execute ๋ฏธ์ง€์› ๋ฉ”์‹œ์ง€ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊น… ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#361)

* feat: ๋กœ๊น… ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์ฒด ๊ตฌํ˜„

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ๊ธฐ์กด firebaseAnalytics๋ฅผ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด๋กœ ์ˆ˜์ •

* chore: ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ ์ ์šฉ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ (#348)

* chore: docker run ์‹œ์— volume ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>

* chore: ๋ถˆํ•„์š”ํ•œ env ์ œ๊ฑฐ

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•ด Logback ์„ค์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: commons-logging ์ œ์™ธ

Co-authored-by: eun-byeol <[email protected]>

* feat: exceptionHandler, interceptor ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ push ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: backend cd ์Šคํฌ๋ฆฝํŠธ docker volume ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ gitignore์— ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: amount path ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋กœ checkoutํ•˜๋„๋ก ์ž„์‹œ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

* chore: profile์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: ํ‘ธ์‹œ ์‹œ ๋ฐฐํฌ ์ ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ request body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper, filter ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: interceptor์—์„œ response body ๋กœ๊ทธ ์ถœ๋ ฅ

- wrapper ์ƒ์„ฑ

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋กœ๊ทธ ๊ฐœํ–‰ ์ œ๊ฑฐ, ์ •์ƒ ์š”์ฒญ์— ๋Œ€ํ•œ response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingResponseWrapper ์‚ฌ์šฉํ•ด response body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: ContentCachingRequestWrapper ์‚ฌ์šฉํ•ด request body ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: cd workflow trigger ์ด๋ฒคํŠธ ์ˆ˜์ •

Co-authored-by: mzeong <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์„ ํ•˜๋‚˜์˜ activity๋กœ ๊ด€๋ฆฌ (#365)

* refactor: ์•กํ‹ฐ๋น„ํ‹ฐ xml ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด์˜ viewModel ์ œ๊ฑฐ, ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* refactor: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”, ๋ณต์‚ฌ ๋กœ์ง์„ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ํ”„๋ž˜๊ทธ๋จผํŠธ ํ™”๋ฉด ์ „ํ™˜ ๋กœ์ง ๊ตฌํ˜„

* chore: eta -> etaDashboard, room -> notificationLog ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฐฑ์Šคํƒ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง ๊ตฌํ˜„

* test: ๋ฆฌํŒฉํ„ฐ๋ง์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ํˆด๋ฐ” ํฐํŠธ ํฌ๊ธฐ ์ค„์ด๊ธฐ  (#389)

* fix: ์ •ํ™•ํ•œ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ฒŒ getCurrentLocation๋กœ ๋ณ€๊ฒฝ (#390)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ETA ์กฐํšŒ ์‹œ, ์ˆ˜๋„๊ถŒ ์™ธ ์ง€์—ญ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#368)

* feat: ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„

* feat: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ๋กœ์ง Request Dto์— ์ ์šฉ

* test: ์ˆ˜๋„๊ถŒ ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์ œ๊ฑฐ

* refactor: ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* fix: ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @SupportRegion ๋กœ์ง ํƒ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ (#388)

* design: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋””์ž์ธ

* design: ์˜ฌ๋ฐ”๋ฅธ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

* design: ์“ฐ์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* design: ๋กœ๊ทธ์ธ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ scaletype ์‚ญ์ œ

* test: InviteCodeViewModel ํ…Œ์ŠคํŠธ (#392)

* test: SingleLiveData๋ฅผ ์œ„ํ•œ getOrAwaitValue์™€ SingleLiveData๊ฐ€ ํ•œ ๋ฒˆ Handled ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•œ getIfHandled ๊ตฌํ˜•

* test: checkInviteCode() ํ…Œ์ŠคํŠธ ๊ตฌํ˜„

* test: FakeAnalyticsHelper logEvent์˜ ๋ฆฌํ„ด Unit์œผ๋กœ ๋ณ€๊ฒฝ

* test: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ๋™์ผํ•œ topic์„ ๊ตฌ๋…ํ•˜์—ฌ ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ๋ฉ”์ดํŠธ์˜ ์•Œ๋ฆผ ๋ฐ›์Œ (#367)

* refactor: ์ƒ์„ฑ์ผ์‹œ๋„ ํฌํ•จํ•˜์—ฌ ์ฃผ์ œ ๊ตฌ๋…

- FcmTopic ๊ฐ์ฒด์—์„œ 2)์•ฝ์† ์•„์ด๋””, ์ƒ์„ฑ์ผ์‹œ๋กœ 2)ํ˜•์‹์— ๋ถ€ํ•ฉํ•˜๋Š” ์ฃผ์ œ ์ƒ์„ฑ
- FcmSendRequest ํ•„๋“œ๋กœ FcmTopic ์‚ฌ์šฉํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฃผ์ œ๋กœ ๊ตฌ๋…๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
- ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ƒ์„ธํ™”

* style: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด `StringBuilder` ๋Œ€์‹  `+` ์‚ฌ์šฉ

Co-authored-by: eun-byeol <[email protected]>

* refactor: ๋ถ€ ์ƒ์„ฑ์ž, ์ฃผ ์ƒ์„ฑ์ž ์ˆœ์œผ๋กœ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: `Meeting`์ด `FcmTopic`์„ ๋ชจ๋ฅด๋„๋ก ์ฝ”๋“œ ์ˆ˜์ •

---------

Co-authored-by: eun-byeol <[email protected]>

* test: 3์ฐจ ์Šคํ”„๋ฆฐํŠธ ๊ตฌํ˜„ ์‚ฌํ•ญ ํ…Œ์ŠคํŠธ (#396)

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: AddressSearchViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: MeetingJoinViewModel given/when/then ์ˆœ์„œ ์ˆ˜์ •

* test: MeetingCreationViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: ktLint ์ ์šฉ

* refactor: FakeRepository์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋กœ ๋ถ„๋ฆฌ

* test: MeetingRoomViewModel์˜ ๋กœ๊ทธ ๊ด€๋ จ ํ•จ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: mapper ํ•จ์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* refactor: ํ”„๋กœํผํ‹ฐ ํƒ€์ž… ๋ณ€๊ฒฝ ๋ฐ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ถ„๋ฆฌ

* style: ktLint ์ ์šฉ

* refactor: ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* test: ์•ฝ์† ๋‚ ์งœ๋ฅผ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ (#398)

* test: MeetingsViewModel ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: meetingsViewModel ํ•œ ์ค„ ๋ฉ”์„œ๋“œ๋“ค ์ค„๋ฐ”๊ฟˆ ํ›„ ์ค‘๊ด„ํ˜ธ ์‚ฝ์ž…

* refactor: Fixture ์ ์šฉ, MeetingCatalog -> MeetingCatalogUiModel ๋งคํ•‘ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* chore: ๋ทฐ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ (#403)

* design: ํ˜„ํ™ฉ ํ™”๋ฉด ๋ฑƒ์ง€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€ (#401)

* design: ์นœ๊ตฌ ํ˜„์žฌ ์œ„์น˜ ํ˜„ํ™ฉํ‘œ ๋‹‰๋„ค์ž„ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

* feat: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ ๋ฐ”์šด์Šค ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* chore: ๋งž์ถค๋ฒ• ์ˆ˜์ •

* chore: ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ์„œ๋น„์Šค ๋„์šฐ๊ธฐ (#393)

* chore: dev ์ „์šฉ CD ํŒŒ์ผ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์ „์šฉ CD ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

* chore: path ์ž„์‹œ ์ฃผ์„ ์ฒ˜๋ฆฌ

Co-authored-by: eun-byeol <[email protected]>

* chore: prod name ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ช… ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ด๋ฏธ์ง€ pull, ์ œ๊ฑฐ ์ˆœ์„œ ๋ณ€๊ฒฝ
Co-authored-by: eun-byeol <[email protected]>

* chore: prod ์„œ๋ฒ„ ๋กœ๊น… ์„ค์ • ์ถ”๊ฐ€
Co-authored-by: eun-byeol <[email protected]>

* chore: prod cd event branch ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: prod ci ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

---------

Co-authored-by: H <[email protected]>

* design: ๋กœ๊ทธ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ • (#409)

* refactor: ํ˜„ํ™ฉ ํ™”๋ฉด๊ณผ ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ”๋ฅผ ๋ถ„๋ฆฌ

* refactor: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์–ด๋Œ‘ํ„ฐ์˜ ๋ฉ€ํ‹ฐ ๋ทฐ ํƒ€์ž… ์ œ๊ฑฐ

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ํ™”๋ฉด ํˆด๋ฐ” ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋””์ž์ธ ์ˆ˜์ •

* design: ๋กœ๊ทธ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด ๋””์ž์ธ ๊ตฌํ˜„

* feat: ํ–„๋ฒ„๊ฑฐ ์•ฝ์† ์นœ๊ตฌ ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ๋””์ž์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: MeetingRoomActivity ๋ฐฑ ๋ฒ„ํŠผ ๋ฆฌ์Šค๋„ˆ ๋ฒ„๊ทธ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์— ๋ง์ค„์ž„ํ‘œ ์ถ”๊ฐ€

* refactor: splash ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (#406)

* config: Splash Screen ์˜์กด์„ฑ ์ถ”๊ฐ€

* chore: Splash ์•กํ‹ฐ๋น„ํ‹ฐ ์‚ญ์ œ

* feat: MeetingsActivity์—์„œ Splash ํ™”๋ฉด ๋œจ๊ฒŒ ์ˆ˜์ •

* chore: ์Šคํ”Œ๋ž˜์‰ฌ ๋กœ๊ณ  ํฌ๊ธฐ ์ˆ˜์ •

* refactor: ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ๋ฐ ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

* feat: ์žฌ์ด‰ํ•˜๊ธฐ API ๊ตฌํ˜„ (#394)

* chore: ์ค‘๋ณต๋œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feat: notificationType nudge ์ถ”๊ฐ€

* feat: ๋ถˆ๋ณ€ ๊ฐ’ ๊ฐ์ฒด๋กœ ์ „ํ™˜

* feat: fetch join ํ™œ์šฉํ•œ mate ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ตฌํ˜„

* feat: errorCode400 description ์ถ”๊ฐ€

* style: ์ฟผ๋ฆฌ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* chore: ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* chore: api ์ˆ˜์ •

* chore: test DisplayName ์ˆ˜์ •

* test: test ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

* refactor: meeting ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์‚ญ์ œ

* chore: ์ฐŒ๋ฅด๊ธฐ > ์žฌ์ด‰ํ•˜๊ธฐ

* chore: api ์ˆ˜์ •

* docs: api ์ˆ˜์ •

* test: displayName ๊ตฌ์ฒดํ™”

* fix: fcmTopic ๊ฐ’ ๊ฐ์ฒด ์ˆ˜์ •์‚ฌํ•ญ ๋ฐ˜์˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๏ฟฝ๏ฟฝ์‹œ ์Šค๋‚ต๋ฐ”/ํ† ์ŠคํŠธ ๊ตฌํ˜„ (#411)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์œ„๊ฒฝ๋„ ๋ณ€ํ™˜์‹œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ž…๋ ฅ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ์ฐธ์—ฌ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์ฐธ์—ฌ ์ค‘์ธ ์•ฝ์† ๋ชฉ๋ก ์กฐํšŒ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* feat: ์•ฝ์† ๋กœ๊ทธ, ํ˜„ํ™ฉ ํ™”๋ฉด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ตฌํ˜„

* chore: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* test: fake repository ๋ฐ˜ํ™˜ํƒ€์ž… ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* refactor: ํ† ์ŠคํŠธ๋ฅผ ์Šค๋‚ต๋ฐ”๋กœ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ BaseViewModel๋กœ ๋ถ„๋ฆฌ

* refactor: _errorEvent, _networkErrorEvent๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝ

* docs: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ๋ฌธ์„œํ™” (#405)

* config: ๋‚œ๋…ํ™” ์ ์šฉ (#415)

* config: ์ฝ”๋“œ ๋‚œ๋…ํ™” ์ ์šฉ

* config: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: retrofit ๋‚œ๋…ํ™” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* config: ๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์‹œ ๋‚œ๋…ํ™” ์ถ”๊ฐ€

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#418)

* refactor: ETA ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ • (#417)

* feat: ์•ฝ์† ์ฐธ์—ฌ์ž ๋„์ฐฉ ํ˜„ํ™ฉ ์กฐํšŒ API ์‘๋‹ต ์ˆ˜์ •

- ์‘๋‹ต์— requesterMateId, mateId ์ถ”๊ฐ€
- ETA ์—…๋ฐ์ดํŠธ ๋กœ์ง ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ
- `EtaService` meetingId, memberId๋กœ mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ `MateService`๋กœ ์ด๋™
- ์‘๋‹ต DTO ๊ต์ฒด์— ๋”ฐ๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •
- meetingId๋กœ ๋ชจ๋“  mate ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ˆ˜์ •
- ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ์‹œ mate๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 400 ๋Œ€์‹  404 ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜

* fix: ๋ฌธ์„œํ™”์šฉ ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ์œ„์น˜ ํ˜„ํ™ฉ ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#426)

* config: firebase storage ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ทฐ๋ฅผ ์บก์ณํ•˜๊ณ  byteArray๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: firebase storage์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๊ณต์œ ํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ™”๋ฉด ์ „์ฒด๊ฐ€ ์•„๋‹Œ RecyclerView๋งŒ ์บก์ณ๋˜๋„๋ก ์ˆ˜์ •

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ์˜์กด์„ฑ ์ถ”๊ฐ€

* config: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ์ดˆ ์…‹ํŒ…

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ๊ณผ ๋ทฐ๋ชจ๋ธ ์—ฐ๊ฒฐ

* refactor: ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์นด์นด์˜ค api์— ์ „๋‹ฌํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์นด์นด์˜ค ๊ณต์œ  api ํ˜ธ์ถœ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* test: ํ…Œ์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ci์— kakao native key ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* config: ๋ฒ„์ „ ์นดํƒˆ๋กœ๊ทธ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ByteArrayOutputStream use ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๋ณ€๊ฒฝ

* style: ktlint ์ ์šฉ

* feat: ๋กœ๋”ฉ ์ค‘ ProgressBar ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#430)

* design: ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„

* feat: BindingActivity์— ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ show/hide ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: BaseViewModel์— isLoading ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜ ์ถ”๊ฐ€

* config: ํ”„๋กœ๊ฐ€๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

* feat: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์— ๋กœ๋”ฉ ์ถ”๊ฐ€

* feat: ์ฝ•์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ (#420)

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* feat: ์ฝ• ์ฐŒ๋ฅด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: FakeMeetingRepository์— fetchNudge ์ถ”๊ฐ€

* refactor: nudgeSuccess -> nudgeSuccessMate ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: get -> fetch๋กœ ๋ณ€๊ฒฝ

* test: ์นœ๊ตฌ ์žฌ์ด‰ํ•˜๋ฉด ์นœ๊ตฌ ์žฌ์ด‰ ์„ฑ๊ณตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

* style: ktlint

* style: ktlint

* style: ktlint

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#431)

* chore: ๋ฆฌ์Šค๋„ˆ ํŒจํ‚ค์ง€ ์ด๋™

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktLint ์ ์šฉ

* style: ์ด๋ฏธ์ง€ url ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๊ธฐ๋Šฅ์— loading ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* refactor: Firebase Analytics ๋กœ๊น…์„ ๋น„๋™๊ธฐ๋กœ ๋‚จ๊ธฐ๋„๋ก ์ˆ˜์ • (#435)

* refactor: ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๋กœ๊น… ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋„๋ก ์ˆ˜์ •

* refactor: fragment ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„๋ฅผ viewLifecycleOwner.lifecycleScope๋กœ ๋ณ€๊ฒฝ

* refactor: ์žฌ์ด‰ํ•˜๊ธฐ API์— ์žฌ์ด‰ํ•œ ์‚ฌ๋žŒ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ์ˆ˜์ • (#437)

* docs: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ˆ˜์ •

* feat: ๊ฐ™์€ ์•ฝ์† ์ฐธ์—ฌ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ฑ…์ž„ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๋Š” mate์˜ ๋‹‰๋„ค์ž„์ด ํฌํ•จ๋˜๋„๋ก ๋กœ์ง ๊ฐœ์„ 

* feat: nudgeRequest dto null ๊ฒ€์ฆ๋กœ์ง ์ถ”๊ฐ€

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* refactor: deviceToken ๋ฐ˜ํ™˜๋กœ์ง ์ž‘์„ฑ

* chore: ๋ฉ”์„œ๋“œ ๋ช… ๋ณ€๊ฒฝ

* refactor: mate๋กœ๋ถ€ํ„ฐ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ถ”์ถœ

* chore: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* fix: fragment ๋กœ๊น… ์ฐ๋Š” ์‹œ์  ์ˆ˜์ • (#441)

* chore: MySQL DB๋ฅผ ์‹คํ–‰ํ•  EC2 ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๋•์…˜ EC2 ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (#419)

* feat: eta entity NotNull ์†์„ฑ ์ถ”๊ฐ€

Co-authored-by: Hyeon0208 <[email protected]>

* chore: mySql DB ์ ์šฉ, ddl-auto ์†์„ฑ validate๋กœ ๋ณ€๊ฒฝ

- schema sql ํŒŒ์ผ ์ถ”๊ฐ€
Co-authored-by: Hyeon0208 <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: ์Šคํ‚ค๋งˆ ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

* fix: mate save๋ฉ”์„œ๋“œ ํŠธ๋žœ์žญ์…˜ ์ ์šฉ

* chore: test yml ์„ค์ •์— defer-datasource-initialization ์„ค์ • ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* chore: HTTPS ์ ์šฉ (#436)

* chore: prod cd ํฌํŠธํฌ์›Œ๋”ฉ 443 ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: cd docker ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: Hyeon0208 <[email protected]>

* chore: MsSQL ์„ค์ • ์ถ”๊ฐ€

* fix: Swagger CORS ์—๋Ÿฌ ํ•ด๊ฒฐ

---------

Co-authored-by: Hyeon0208 <[email protected]>
Co-authored-by: mzeong <[email protected]>

* chore: ๋กœ๊ทธ ๊ด€๋ จ ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋กœ๊ทธ ๋‚ด Request Body ๊ฐœํ–‰ ์ œ๊ฑฐ (#422)

* chore: console์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ฅธ ์ƒ‰์ƒ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore: log pattern ๋ณ€์ˆ˜ํ™”, ๋กœ๊ทธ ์ถœ๋ ฅ ์‹œ๊ฐ„ ์„œ์šธ ๊ธฐ์ค€์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: Interceptor ๋‚ด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฝ”๋“œ Wrappers Dto๋กœ ๋ถ„๋ฆฌ

* refactor: Wrapping ์ „์šฉ Filter ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: record class์—์„œ ์ผ๋ฐ˜ class๋กœ ๋ณ€๊ฒฝ

* chore: deprecated API ์ œ๊ฑฐ (#438)

* refactor: deprecated๋œ api ์ œ๊ฑฐ

* refactor: deprecated api test ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* fix: manifest์—์„œ MAIN, LAUNCHER ์ธํ…ํŠธ ํ•„ํ„ฐ์™€ data ์ธํ…ํŠธ ํ•„ํ„ฐ๋ฅผ ๋ถ„๋ฆฌ (#445)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ • (#439)

* refactor: ์•ฝ์† ์ฐธ์—ฌ API ์‘๋‹ต ์ˆ˜์ •

- ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ œ๊ฑฐ
- ์ฐธ์—ฌ์ž์˜ `estimatedMinutes`๋กœ RouteTime ์ƒ์„ฑ

* refactor: `Meeting` ๋‚ด `getMeetingTime` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

Co-authored-by: coli-geonwoo <[email protected]>

* ๏ฟฝrefactor: ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด `MateSaveResponse` ์Šค์›จ๊ฑฐ ์˜ˆ์‹œ๋ฅผ ๋ฏธ๋ž˜ ๋‚ ์งœ๋กœ ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* style: ํ•œ ์ค„ ์ตœ๋Œ€ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ๊ฐœํ–‰

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ LocalDate, LocalTime ์ž„ํฌํŠธ ์ถ”๊ฐ€

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: eun-byeol <[email protected]>

* chore: dev ์„œ๋ฒ„ DB MySQL ๊ต์ฒด ์ž‘์—… (#446)

* chore: dev ์„œ๋ฒ„ MySQL DB๋กœ ๊ต์ฒด

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์ปจํ…Œ์ด๋„ˆ ๋ช… ๋ณ€๊ฒฝ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

* chore: CI ๋นŒ๋“œ ์›Œํฌํ”Œ๋กœ์šฐ ์ œ๊ฑฐํ•˜๊ณ  Test๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: develop ์Šคํ‚ค๋งˆ validation ์˜ค๋ฅ˜ ํ•ด๊ฒฐ BE BUG (#455)

* chore: local ํ”„๋กœํ•„์—์„œ h2 db๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: member์— nickname ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์žฌ์ด‰ํ•˜๊ธฐ ์•Œ๋ฆผ์— ๋‹‰๋„ค์ž„์ด ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ (#457)

* feat: ์žฌ์ด‰ํ•˜๊ธฐ api path -> body๋กœ ๋ณ€๊ฒฝ

* test: MeetingRoomViewModel ๋ฐ”๋€ api์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

* feat: "๋‹‰๋„ค์ž„"์ด ์ œ์ด‰ํ•ด์š” ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* refactor: ์œ„๊ฒฝ๋„ ์ขŒํ‘œ ๏ฟฝ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ ๋ฐ Coordinate ๊ฐ์ฒด ์ƒ์„ฑ (#447)

* refactor: Coordinates ๊ฐ์ฒด ์ƒ์„ฑ, ์œ„๊ฒฝ๋„ ๊ฒ€์ฆ ๋กœ์ง ์ œ๊ฑฐ

* style: reformat code

* feat: double๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ขŒํ‘œ์ž„์„ ๊ฒ€์ฆ

* refactor: `MateSaveRequest` ๋‚ด `toOriginCoordinates` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: `Location`์˜ `getLatitude`, `getLongitude` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

* fix: ๋จธ์ง€ ๊ณผ์ •์—์„œ toOriginCoordinates ๋ฉ”์„œ๋“œ ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ๋ฐ ์—‘์„ธ์Šค ํ† ํฐ ๋ฐœ๊ธ‰ (#448)

* refactor: `DeviceToken` ํ•„๋“œ๋ช… `value`๋กœ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ํ•„๋“œ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ž„์˜์˜ `Provider`๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์กด์žฌํ•˜๋Š”์ง€ ์กฐํšŒ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `Member` ์ƒ์„ฑ

- ์ค‘๋ณต๋œ DeviceToken ๊ฒ€์ฆ
- ์ค‘๋ณต๋œ ProviderType, ProviderId ๊ฒ€์ฆ

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ API

- ์นด์นด์˜ค ํšŒ์› ์ƒ์„ฑ, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API ๋ฌธ์„œํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* feat: `JwtTokenProvider` ๊ตฌํ˜„

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ˆ„๋ฝ๋œ `@RequestBody` ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•œ ์ธ์ฆ ์ „ํ™˜

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ๋ˆ„๋ฝ๋œ jwt dependency ์ถ”๊ฐ€ ๋ฐ ConfigurationProperties ์„ค์ •

- ConfigurationProperties ์„ค์ • ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ํ—ค๋”์— device-token ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* fix: ๋งŒ๋ฃŒ๋œ ํ† ํฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #428

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ํ•˜๋‚˜์˜ ๊ธฐ๊ธฐ์— ์—ฌ๋Ÿฌ ์นด์นด์˜ค ๊ณ„์ • ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

- ์นด์นด์˜ค ๊ณ„์ •์ด ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์— ๋กœ๊ทธ์ธ ์‹œ ์ด์ „ ๋””๋ฐ”์ด์Šค ํ† ํฐ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* fix: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ #432

* fix: ๋งŒ๋ฃŒ๋œ ์•ก์„ธ์Šค ํ† ํฐ๋„ ํŒŒ์‹ฑ #433

* test: ํšŒ์› ์ƒ์„ฑ ๋ฐ `DeviceToken` NotNull ์กฐ๊ฑด ์‚ญ์ œ

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฒ€์ฆ, ์•ก์„ธ์Šค/๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋งŒ๋ฃŒ ํ™•์ธ

* test: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด TokenFixture ์ƒ์„ฑ

* test: ์นด์นด์˜ค ๋กœ๊ทธ์ธ API, ์•ก์„ธ์Šค ํ† ํฐ ๊ฐฑ์‹  API

* test: ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์‹ฑ, ๊ฐฑ์‹ 

* docs: Swagger summary ์ˆ˜์ •

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” AuthorizationHeader ๋‚ด ์ƒ์ˆ˜ ์ œ๊ฑฐ

* refactor: AccessToken ๋‚ด ์ฃผ์„ ์ œ๊ฑฐ

* test: AuthorizationHeader ์ƒ์„ฑ

* fix: ์ž˜๋ชป ๋จธ์ง€๋œ NudgeMessage ๋นŒ๋“œ ์ฝ”๋“œ ์ˆ˜์ •

* fix: Member ํ…Œ์ด๋ธ” sql ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ Member ์ƒ์„ฑ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋  ํ…Œ์ŠคํŠธ Disabled ์ฒ˜๋ฆฌ

* refactor: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ Token ๊ฐ์ฒด ์ œ๊ฑฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ API์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#461)

* feat: ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ์— imageUrl ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ์— imageUrl์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ API ์ œ๊ฑฐ

* test: v1/mates ํ…Œ์ŠคํŠธ ์‚ญ์ œ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์ˆ˜์ • ๋ฐ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ (#452)

* refactor: ์•ฝ์† ์ฐธ์—ฌ api ์š”์ฒญ/์‘๋‹ต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •

* chore: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ™”๋ฉด ์‚ญ์ œ

* chore: ๋‹‰๋„ค์ž„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* fix: response ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… ์ˆ˜์ •

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ, ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ response์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€ (#462)

* feat: response ๋“ค์— imageUrl ํ•„๋“œ ์ถ”๊ฐ€

* feat: TestFixtures ํ”„๋กœํผํ‹ฐ์— imageUrl ๊ฐ’ ์ถ”๊ฐ€

* style: ktlint

* fix: ์ˆ˜์ •๋œ jar๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#464)

* chore: ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* chore: ์Šคํ‚ค๋งˆ ์„ค์ • ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ clean up ๋ช…๋ น์–ด ์ˆ˜์ •

Co-authored-by: eun-byeol <[email protected]>

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ปค๋ฐ‹

Co-authored-by: eun-byeol <[email protected]>

* chore: CD ํŒŒ์ดํ”„๋ผ์ธ ๋ณ€๊ฒฝ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋งž์ถฐ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* feat: ํ˜•์ƒ ๊ด€๋ฆฌ์šฉ Dev ์ „์šฉ Docker ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ถ”๊ฐ€

Co-authored-by: eun-byeol <[email protected]>

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (#442)

* chore: ์นด์นด์˜ค sdk ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜คํ†ก์œผ๋กœ ๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: api ์„œ๋ฒ„์— ๊ฐ€์ž… ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: mockWebServer ์˜์กด์„ฑ ์ถ”๊ฐ€

* refactor: ์Šคํ”Œ๋ž˜์‹œ์—์„œ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* chore: thirdparty.login.model ํŒจํ‚ค์ง€๋ช… entity๋กœ ๋ณ€๊ฒฝ

* refactor: deprecated๋œ MemberService ์ œ๊ฑฐ

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ api ์„œ๋ฒ„์— access token๊ณผ refresh token ์š”์ฒญ, ํ† ํฐ ๋งŒ๋ฃŒ์‹œ ์ƒˆ ํ† ํฐ ์š”์ฒญ

* refactor: authorization ํ—ค๋” ์ˆ˜์ •

* fix: refresh token์ด ์ œ๋Œ€๋กœ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ‚ค ์‚ญ์ œ

* chore: mockServerTest ์˜์กด์„ฑ ์ œ๊ฑฐ

* refactor: Meetings์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜, ์ธํ„ฐ์…‰ํ„ฐ์—์„œ url ๊ธฐ๋ฐ˜์œผ๋กœ refresh ์ฒดํฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* fix: LifecycleOwner ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: ๋กœ๊ทธ์ธ ์ดํ›„ ๋ชฉ๋ก์ด ๋œจ์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: LoginActivity์—์„œ splash๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ + ์ž๋™ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* style: ktLintFormat

* fix: ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜์ด ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ CD ๊ตฌ์ถ• (#463)

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋ชจ์ž„ ์ฐธ์—ฌ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง (#465)

* design: activity_meeting_join ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ํ™”๋ฉด ๋””์ž์ธ ์ˆ˜์ •

* refactor: MeetingJoinActivity์— ์ถœ๋ฐœ์ง€ ์ž…๋ ฅ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถœ๋ฐœ์ง€ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ •

* test: MeetingJoinViewModel ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* style: ktLint ์ ์šฉ

* refactor: ์ฃผ์†Œ editText setText ๋ฐฉ์‹ ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก์ด ์ œ๋Œ€๋กœ ui์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#467)

* refactor: ์•ฝ์† ๋ชฉ๋ก ์˜ต์ €๋ฒ„ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์ธ ํ™”๋ฉด finish ์ถ”๊ฐ€

* fix: meetings Recyclerview ์ˆ˜์ •

* fix: ์žฌ์ด‰ํ•˜๊ธฐ ๋กœ๊ทธ ๋ฌธ์ž์—ด ์ˆ˜์ •

* fix: ์•ฝ์† ๋ชฉ๋ก isEmpty ๋ฒ„๊ทธ ์ˆ˜์ •

* design: ์˜ค๋”” ์บ๋ฆญํ„ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* refactor: ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ณด์ด๊ฒŒ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* design: ์ดˆ๋Œ€์ฝ”๋“œ ๊ณต์œ  ์ด๋ฏธ์ง€ ๋งํฌ ์ˆ˜์ • (#470)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#472)

* feat: ์•ฝ์† ๋ฆฌ์ŠคํŠธ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ 2๋ฒˆ ํ•˜๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* config: versionCode 4 -> 7

* refactor: ํ•จ์ˆ˜ํ™” ๋ฐ ์ƒ์ˆ˜ํ™”

* docs: ํšŒ์› ์‚ญ์ œ API (#477)

* chore: ์•ฑ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (#483)

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* chore: cd ์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ

* fix: ์นด์นด์˜ค ์›น ๋กœ๊ทธ์ธ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ • (#485)

* refactor: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ (#474)

* feat: ์ง€๋‚œ ์•ฝ์†์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* refactor: meeting์—๊ฒŒ ๊ธฐํ•œ ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ๋ฌป๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์„ค์ •ํ™”๋ฉด ๋””์ž์ธ (#492)

* chore: ํ•„์š”ํ•œ ์•„์ด์ฝ˜๋“ค ์ถ”๊ฐ€

* feat: ํ™ˆํ™”๋ฉด์—์„œ ์„ค์ •ํ™”๋ฉด ๊ฐ€๋Š” ๋กœ์ง ๊ตฌํ˜„

* feat: ์„ค์ • ํ™”๋ฉด ๋””์ž์ธ ๋ฐ ์„ค์ • ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

* fix: ์„ค์ • ํ™”๋ฉด ์„ธ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* refactor: onSetting -> onClickSetting

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* refactor: ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

* style: ktlint

* chore: SettingActivity exported -> false

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

* ๏ฟฝrefactor: ์Šคํ”„๋ง ํ”„๋กœํ•„ ๋ถ„๋ฆฌ (#494)

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: private yml dev ์œ ์ € ์˜ต์…˜ ๋ณ€๊ฒฝ

* chore: private yml root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: dev EC2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ์ฆˆ ํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ์ˆ˜์ •

* chore: ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ develop์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: dev ํ”„๋กœํ•„ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

* chore: local ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ update

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ถ”๊ฐ€

* chore: dev ddl-auto update๋กœ ๋ณ€๊ฒฝ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: defer ์˜ต์…˜ ์ œ๊ฑฐ

* chore: sql init ๋ชจ๋“œ ๋ณ€๊ฒฝ

* chore: ํ”„๋กœํ•„ ๋ถ„๋ฆฌ

* chore: ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ œ๊ฑฐ

* chore: ์ค‘๋ณต ์„ค์ • ์ œ๊ฑฐ ๋ฐ ํ”„๋กœํ•„ ๋ณ„ ์ ํ•ฉํ•œ ์˜ต์…˜์œผ๋กœ ์ˆ˜์ •

* chore: ํ”„๋กœํ•„ ๋ณ„ ์„œ๋ธŒ๋ชจ๋“ˆ import ์ œ๊ฑฐ

* chore: ๋จธ์ง€ ์ถฉ๋Œ๋กœ ์ˆ˜์ •๋œ CD yml ๋‹ค์‹œ ์ˆ˜์ •

* chore: dev์˜ ddl-auto validate๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: mzeong <[email protected]>

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฌ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ๋ฐ ์ƒˆ๋ฒฝ 4์‹œ๋งˆ๋‹ค ์ง€๋‚œ ๋ชจ์ž„ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#410)

* feat: ์‹œ์Šคํ…œ ํƒ€์ž„ ์กด ์„ค์ • ์ถ”๊ฐ€

* feat: ์•Œ๋ฆผ ํ…Œ์ด๋ธ”์— fcmTopic ์ปฌ๋Ÿผ ์ถ”๊ฐ€

* feat: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ PENDING ์ƒํƒœ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ์ ์šฉ

* feat: ์ง€๋‚œ ์•ฝ์†๋ฐฉ ๋…ผ๋ฆฌ ์‚ญ์ œ ์Šค์ผ€์ค„๋ง ์ถ”๊ฐ€

* test: ์ ‘๊ทผ์ œ์–ด์ž protected๋กœ ๋ณ€๊ฒฝ ๋ฐ getter ์ œ๊ฑฐ

* feat: ์˜ค๋Š˜ ์•ฝ์†์˜ ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: fcm topic ๊ตฌ๋… ํ•ด์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ ์„ค๋ช… ์ถ”๊ฐ€

* refactor: Device Token getter ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉ

* test: Base ์ถ”์ƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ œ์–ด์ž ์ˆ˜์ •

* refactor: ๊ฐœํ–‰ ์ ์šฉ

* style: ๋ฒŒํฌ ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •

* feat: ์•ฝ์† ์ฐธ์—ฌ ์‹œ๊ฐ„์ด ์ง€๋‚œ ์•ฝ์†๋ฐฉ ์ฐธ์—ฌ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ƒˆ๋ฒฝ 4์‹œ ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ œ๊ฑฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ์ œ๊ฑฐ

* refactor: ๋จธ์ง€ ์ถฉ๋Œ ์ž‘์—… ํ•ด๊ฒฐ

* refactor: ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์•ฝ์† ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์† ๋‹จ๊ฑด ์กฐํšŒ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: findFetchedMateById() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ ์•ฝ์† ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์ฒ˜๋ฆฌ ๋กœ์ง์„ service์—์„œ ์ฒ˜๋ฆฌ

* test: ๊ธฐํ•œ์ด ์ง€๋‚œ ์•ฝ์† ์กฐํšŒ ํ…Œ์ŠคํŠธ ์–ด๋–ค ์•ฝ์†์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ช… ๋„ค์ด๋ฐ

* style: ์•ฝ์†๋ฐฉ -> ์•ฝ์†์œผ๋กœ ํ…์ŠคํŠธ ๋ณ€๊ฒฝ

* style: ๊ธฐ๊ฐ„์ด ์ง€๋‚˜์ง€ ์•Š์€ ์•ฝ์†๋ฐฉ ์ „์ฒด Mate ์กฐํšŒ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ์ˆ˜์ •

* test: 2๊ฐ€์ง€ ๊ฒ€์ฆ ๊ตฌ๋ฌธ์„ assertAll๋กœ ๋ž˜ํ•‘

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#493)

* chore: swagger ๋ฌธ์„œ ์ž‘์„ฑ

* feat: ์ƒ์„ฑ์ž ๋กœ์ง ๋ณ€๊ฒฝ

* feat: ๋ฉค๋ฒ„ refreshToken ์‚ญ์ œ ๋กœ์ง ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™” ๋กœ์ง ์ผ๊ด€์„ฑ ์ค€์ˆ˜

* feat: ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ validate ์ถ”๊ฐ€

* chore: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* feat: member ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ update ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: description ์ˆ˜์ •

* chore: ๋กœ๊ทธ์•„์›ƒ ์‹œ 401 description ์„ค๋ช… ์ถ”๊ฐ€

* refactor: ์•ก์„ธ์Šค ํ† ํฐ๋งŒ ๋ฐ›๋„๋ก ๋กœ์ง ์ˆ˜์ •

* style: test ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

LogOut > Logout

* test: ํ…Œ์ŠคํŠธ ์—๋Ÿฌ ํ•ด๊ฒฐ

* refactor: ๋ถˆํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ์‚ญ์ œ

* refactor: ์ด๋ฏธ ๋กœ๊ทธ์•„์›ƒ ์ƒํƒœ๋”๋ผ๋„ 200์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: Dev ์„œ๋ฒ„ Down ์˜ค๋ฅ˜ ํ•ด๊ฒฐ  (#501)

* chore: ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋กœ ์ˆ˜์ •

* chore: ๋ฐฉ์–ธ ์ œ๊ฑฐ ๋ฐ, sql.init.mode: never๋กœ ๋ณ€๊ฒฝ

* chore: dev์˜ sql.init.mode: always๋กœ ๋ณ€๊ฒฝ

* chore: local ํ”„๋กœํ•„ sql.init.mode ์„ค์ • ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#499)

* feat: ApiResult์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” is~ ๋ณ€์ˆ˜ ์ถ”๊ฐ€

* feat: ์นด์นด์˜ค ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์ฝœ๋ฐฑ์„ ์ฝ”๋ฃจํ‹ด์œผ๋กœ ๊ตฌํ˜„

* feat: ์˜ค๋”” ์„œ๋ฒ„์˜ ๋กœ๊ทธ์•„์›ƒ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋œ access token๊ณผ refresh token ์‚ญ์ œ ๊ตฌํ˜„

* feat: repository์—์„œ ์นด์นด์˜ค์™€ ์˜ค๋”” ์„œ๋ฒ„์—์„œ์˜ ๋กœ๊ทธ์•„์›ƒ ํ›„ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: Application์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…

* feat: ์„ค์ • ํ™”๋ฉด์—์„œ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ๋งํฌ ์—ฐ๊ฒฐ (#496)

* feat: ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ, ์„œ๋น„์Šค ์ด์šฉ ์•ฝ๊ด€ ์„ค์ •์—์„œ ๋งํฌ ์—ฐ๊ฒฐ

* refactor: ๋…ธ์…˜ uri๋“ค local properties์—์„œ ๊ด€๋ฆฌ

* android ci์— uri๋“ค ์ถ”๊ฐ€

(cherry picked from commit a33d7e4529cc044a991c8e8931653c9b08dcf30c)

* fix: ์•ฝ์†์ด ๊ฐœ์„ค๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#491)

(cherry picked from commit a4321624ed6282e6e6f143483a7603bdd5a81f8c)

* chore: ์ฃผ์„ ์‚ญ์ œ

* feat: kakaoLoginRepository์™€ SettingsActivity ์—ฐ๊ฒฐ

* refactor: SplashActivity์™€ LoginActivity ๋ถ„๋ฆฌ

* feat: ๋กœ๊ทธ์•„์›ƒ์‹œ ๋กœ๊ทธ์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ด๋™

* feat: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋กœ๊ทธ์•„์›ƒ์„ ํ•œ ํ›„ ํ† ์ŠคํŠธ ๋Œ€์‹  ์Šค๋‚ต๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ฐ˜๋“œ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋’ค์— navigate๋ฅผ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ string ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: Hyemin Kim <[email protected]>

* refactor: debug, release ๋ชจ๋“œ์— ๋”ฐ๋ฅธ BASE_URL ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#460)

* refactor: BASE_URL ๋นŒ๋“œ ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* config: ci ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* refactor: BASE_URL ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ์ˆ˜์ •

* refactor: BASE_URL ์œ„์น˜ ๋ณ€๊ฒฝ

* config: cd ์Šคํฌ๋ฆฝํŠธ base_url ์ˆ˜์ •

* fix: common.yml ๋ฏธ๋ฐ˜์˜์œผ๋กœ url null ๊ฐ’์œผ๋กœ ์ธ์‹ (#519)

* refactor: ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋˜ ์ˆ˜๋„๊ถŒ ์•ˆ๋‚ด ๋ฉ˜ํŠธ ์‚ญ์ œ (#516)

* ๏ฟฝrefactor: ์ถœ๋ฐœ ์•Œ๋ฆผ์ด ์•„๋‹Œ type๋“ค์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝ (#509)

* refactor: ENTRY, NUDGE ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ์˜ status๋ฅผ DONE์œผ๋กœ ์ดˆ๊ธฐํ™”

* refactor: ์ถœ๋ฐœ ์•Œ๋ฆผ ํƒ€์ž…์„ ๊ฐ€์ง„ ์•Œ๋ฆผ๋งŒ ์ƒํƒœ๋ฅผ DONE์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์ˆ˜์ •

* refactor: NotificationType๋‚ด์—์„œ ์ถœ๋ฐœ ์•Œ๋ฆผ ์—ฌ๋ถ€ ํ™•์ธ

* feat: ์•Œ๋ฆผ์ด ํ˜„์žฌ ์•Œ๋ฆผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* ๏ฟฝrefactor: ์ดˆ๋Œ€์ฝ”๋Œ€ ์ฝ”๋“œ ์œ ์ผ์„ฑ ๋†’์ด๋„๋ก ๊ฐœ์„  (#507)

* fix: BaseEntity ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* chore: dev ํ”„๋กœํ•„ sql.init.mode never๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•„๋“œ ํƒ€์ž… ๋ฐ ์ œ์•ฝ์กฐ๊ฑด ๋ณ€๊ฒฝ

* refactor: 8์ž๋ฆฌ์˜ ์œ ์ผํ•œ ์ดˆ๋Œ€์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์ดˆ๋Œ€ ์ฝ”๋“œ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ณ€๊ฒฝ๋œ ์ดˆ๋Œ€์ฝ”๋“œ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* chore: sql auditing์„ ์‚ฌ์šฉํ•œ ํ•„๋“œ not null ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* refactor: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* style: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๋„์–ด์”Œ๊ธฐ ์ œ๊ฑฐ

* refactor: ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ ๋ฐ ์ดˆ๋Œ€์ฝ”๋“œ ๊ฒ€์ฆ๋กœ์ง ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ๋ณ€๊ฒฝ

* refactor: ์—๋Ÿฌ ๋กœ๊ทธ ์ œ๊ฑฐ

* refactor: Auditing ํ•„๋“œ NotNull ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

* feat: FCM์— ์ „์†กํ•˜๋Š” ๋ฉ”์„ธ์ง€์— meetingId ์ถ”๊ฐ€ (#520)

* feat: fcm Message data์— meetingId ์ถ”๊ฐ€

* style: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค๋ช… ํŠน์„ฑ์— ๋งž๊ฒŒ ์ˆ˜์ •

* style: FCM ์š”์ฒญ DTO ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* style: ๊ฐœํ–‰ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ๋ณ€๊ฒฝ๋œ ํด๋ž˜์Šค๋ช… ์ ์šฉ ๋ฐ ์ฝ”๋“œ ํ๋ฆ„ ๊ฐœ์„ 

* refactor: ์—ฐ๊ด€๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ์—์„œ ์•ฝ์† ID๋ฅผ ๊บผ๋‚ด๋„๋ก ์ˆ˜์ •

* refactor: ์ฟผ๋ฆฌ ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ์ˆ˜์ • ๋ฐ ์ˆœ์„œ ์ˆ˜์ •

* refactor: meetingId getter ๋””๋ฏธํ‹ฐ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋ฉ”์„ธ์ง€ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ ์ ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ getter ์ œ

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ 

* fix: merge ์ถฉ๋Œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ๋ฏผ๊ฐํ•œ ์„ค์ •์„ jasypt๋ฅผ ํ™œ์šฉํ•ด ์•”ํ˜ธํ™” ์ ์šฉ (#511)

* feat: Jasypt ์˜์กด์„ฑ ๋ฐ ์„ค์ • ์ถ”๊ฐ€

* refactor: jasypt ์•”ํ˜ธํ™” ์ ์šฉ๋œ ๊ฐ’ ์ ์šฉ

* chore: ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ jasypt ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ ์šฉํ•˜๋„๋ก ์˜ต์…˜ ์ ์šฉ

* refactor: local, dev, prod ํ”„๋กœํ•„์—๋งŒ jasypt ์„ค์ • ์ ์šฉ๋˜๋„๋ก ์„ค์ •

* comment: ์ด์ƒํ•œ ์ฝ”๋“œ TODO ์ฃผ์„ ์ถ”๊ฐ€

* refactor: EC2 ์„œ๋ฒ„ ์ฝ”์–ด ์ˆ˜์— ๋งž์ถฐ encryptor poolsize 2๋กœ ์กฐ์ •

* refactor: FCM ์„ค์ • ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•ด ์ฝ๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์–ด๋…ธํ…Œ์ด์…˜ ์ˆœ์„œ ๋ณ€๊ฒฝ

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ci/cd ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •

* refactor: fcm.admin.sdk ๊ฐ’ common์œผ๋กœ ์ด๋™ ๋ฐ config.import ๊ตฌ๋ฌธ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•œ yml ์†์„ฑ ์ฝ๋„๋ก ์ˆ˜์ •

* fix: InviteCodeGeneratorTest Disabled ์ฒ˜๋ฆฌ

* chore: logging ํ–ฅ์ƒ์„ ์œ„ํ•œ MDC ๋„์ž… (#504)

* chore: MDC ์ ์šฉ

- ๋กœ๊ทธ ์ถœ๋ ฅ ํŒจํ„ด ์ˆ˜์ •
- ๋กœ๊น…์„ ์œ„ํ•œ ํ•„ํ„ฐ ์ด๋ฆ„ ์ˆ˜์ • ๋ฐ MDC ๋กœ์ง ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ง€๊ฐ ์ฐธ์—ฌ์ž ๋กœ๊ทธ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํšŒ์› ์‚ญ์ œ API (#512)

* feat: ํŠน์ • ์ฐธ์—ฌ์ž์˜ PENDING ์•Œ๋ฆผ์„ ๋ชจ๋‘ DISMISSED ์•Œ๋ฆผ์œผ๋กœ ์ˆ˜์ •

- NotificationStatus์— DISMISSED ์ถ”๊ฐ€

* feat: DISMISSED ์•Œ๋ฆผ ์ „์†ก ์•ˆ ํ•จ

- fixture ์ƒ์„ฑ ๋กœ์ง ๋ถ„๋ฆฌ

* feat: ์ฐธ์—ฌ์ž ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Eta ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์•„์ด๋””์— ํ•ด๋‹นํ•˜๋Š” Mate ์กด์žฌํ•˜๋ฉด soft delete

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ Mate, Eta ์‚ญ์ œ ๋ฐ Notification DISMISSED ์ฒ˜๋ฆฌ

* feat: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ

* fix: soft delete ๊ตฌํ˜„์— ๋”ฐ๋ฅธ createQuery ์‚ฌ์šฉ ๋ถˆ๊ฐ€

* chore: Member, Mate, Eta์— deletedAt ์—ด ์ถ”๊ฐ€, Notification status ์—ด์— dismissed ์ถ”๊ฐ€

* test: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ

- fix: ํ—ค๋” ์–ด๋…ธํ…Œ์ด์…˜ ๋ˆ„๋ฝ

* fix: merge ๊ณผ์ •์—์„œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ๋ณต๊ตฌ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ํšŒ์› ์‚ญ์ œ ์•Œ๋ฆผ ์ถ”๊ฐ€

- NotificationType MEMBER_DELETION ์ถ”๊ฐ€
- Notification sql ์ˆ˜์ •

* refactor: NotificationStatus ๋‚ด isDismissed ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* docs: ํšŒ์› ์‚ญ์ œ API ๋ฉฑ๋“ฑ์„ฑ ํ…Œ์ŠคํŠธ DisplayName ๊ตฌ์ฒดํ™”

* test: ํšŒ์› ์‚ญ์ œ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ๋‚ด ๋ˆ„๋ฝ๋œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: BaseRepositoryTest ์ƒ์„ฑ

* feat: ์‚ญ์ œ ํšŒ์› ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์•ฝ์† ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ

* fix: H2 ํ™˜๊ฒฝ์—์„œ sql ๋Œ€์†Œ๋ฌธ์ž ์ฐจ์ด๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ถˆ๊ฐ€

* refactor: NotificationStatus ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒŒํฌ ์ฟผ๋ฆฌ ์ œ๊ฑฐ

* refactor: ์กฐํšŒ ํ›„ ์ œ๊ฑฐ ๋Œ€์‹  deleteById ์‚ฌ์šฉ

* refactor: ์ค‘๋ณต device token unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* fix: ๋จธ์ง€ ํ›„ ํ…Œ์ŠคํŠธ ์‹คํŒจ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: jasypt ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#527)

* fix: ๋„์ปค์— ์ „๋‹ฌ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์• ํ”Œ์ผ€์ด์…˜์ด ๋ชป ์ฝ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ (#530)

* chore: ์ž„์‹œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ •

* chore: ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ์˜ต์…˜ ENV๋กœ ๋ณ€๊ฒฝ

* chore: develop ๋ธŒ๋žœ์น˜๋กœ CD ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: yml ์ƒ jasypt ์˜ต์…˜ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ณ€๊ฒฝ

* chore: jasypt ์„ค์ • yml์ƒ ์ œ๊ฑฐ

* chore: ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* fix: ํšŒ์› ์‚ญ์ œ ๊ตฌํ˜„ ํ›„ ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ API ์˜ค์ž‘๋™ (#534)

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ

* chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •

* chore: ํ…Œ์ŠคํŠธ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ disabled

* chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊ทธ ์ถœ๋ ฅ

* ๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ

* fix: `@SQLRestriction` ์ œ๊ฑฐ ๋ฐ ํ•„ํ„ฐ ์ „์—ญ ์ ์šฉ

- ํ•„ํ„ฐ ์ ์šฉ๋˜์ง€ ์•Š๋Š” findById์— deletedAt์œผ๋กœ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ถ”๊ฐ€

* Revert "๏ฟฝchore: ๋ฐฐํฌ ์ด๋ฒคํŠธ ๋ณ€๊ฒฝ"

This reverts commit 064a3fd89c2f4ddbb8a7002f87d15c5f249ce7b1.

* Revert "chore: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด dev ์„œ๋ฒ„ ๋ฐฐํฌ ์ด๋ฒคํŠธ ์ˆ˜์ •"

This reverts commit 960aa721c1558208b65853001e1df89dfb2adeb2.

* Revert "chore: ๋นˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ์ถœ๋ ฅ"

This reverts commit a2615062

* test: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์—”ํ‹ฐํ‹ฐ ์‚ญ์ œ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* refactor: `@SQLRestriction` ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ NotiLogFindResponse ๋‚ด ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์ œ๊ฑฐ

* test: ์‚ญ์ œ Eta ์กฐํšŒ์—์„œ ๋ถˆํ•„์š”ํ•œ flush ์ œ๊ฑฐ

* style: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ

Co-authored-by: eun-byeol <[email protected]>

* refactor: NotiLogFindResponse ์ƒ์„ฑ์ž๋ฅผ ์ •ํŒฉ๋ฉ”๋กœ ๊ต์ฒด

---------

Co-authored-by: eun-byeol <[email protected]>

* feat: ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#518)

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ์‹œ auth token์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๊ธฐ๋Šฅ์„ ui์™€ ์—ฐ๊ฒฐ

* feat: ์„œ๋ฒ„ ํƒˆํ‡ด api ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ui ๊ตฌํ˜„

* feat: ํƒˆํ‡ด ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: retrofit service ํ”„๋กœ๊ฐ€๋“œ ์˜ˆ์™ธ ์ ์šฉ

* refactor: LoginRepository ๋‚ด์—์„œ ํ† ํฐ์„ ์‚ญ์ œํ•˜๋„๋ก ์ˆ˜์ •

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ ํƒ€์ž…์— ํšŒ์› ํƒˆํ‡ด ์ถ”๊ฐ€

* design: ์„ค์ • ์•„์ดํ…œ์˜ ํด๋ฆญ ๋ฒ”์œ„ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ ๋ฐ ๋กœ๋”ฉ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ถ”๊ฐ€

* refactor: ๋กœ๊ทธ ํƒ€์ž…๊ณผ ํ‘ธ์‹œ ์•Œ๋ฆผ ํƒ€์ž…์„ ๋ถ„๋ฆฌ

* refactor: LoginActicity ์ด๋™ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* style: ktLint ์ ์šฉ

* feat: imageUrl์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ด๋ฏธ์ง€ ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ •

* refactor: TAG๋ฅผ reflection simpleName์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

* refactor: ํƒˆํ‡ด ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ -> ๋ทฐ ๋ฐ”์ธ๋”ฉ

* design: mate ๋ชฉ๋ก์—์„œ ์ด๋ฏธ์ง€ ์—†๋Š” ๊ฒฝ์šฐ ํšŒ์ƒ‰ ์ฒ˜๋ฆฌ

* feat: ์นด์นด์˜ค ์—ฐ๊ฒฐ๋Š๊ธฐ (#539)

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์†Œ์…œ ์„œ๋น„์Šค์˜ ์œ ์ € ์ •๋ณด ํŒŒ๊ธฐ

* feat: ํšŒ์› ์‚ญ์ œ ์‹œ ์นด์นด์˜ค ์—ฐ๊ฒฐ ๋Š๊ธฐ ์„ ํ–‰

* docs: ํšŒ์› ์‚ญ์ œ API ์ฝ”๋“œ์™€ ๋ฌธ์„œ ์ผ์น˜

* fix: ํšŒ์› ์‚ญ์ œ ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์‹œ KakaoAuthUnlinkClient Mock ๋“ฑ๋ก

* docs: ์‚ญ์ œ ํšŒ์›์ด ํšŒ์› ์‚ญ์ œ API ์š”์ฒญ ์‹œ 401 ๋ฐ˜ํ™˜

* feat: AuthProvider, DeviceToken unique ์ œ์•ฝ์กฐ๊ฑด ์ œ๊ฑฐ

* feat: ๋กœ๊ทธ ๋ชฉ๋ก ์กฐํšŒ ์‹œ ์‚ญ์ œ ํšŒ์›์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์‘๋‹ต

* test: ์‚ญ์ œ ํšŒ์› ์ •๋ณด ํŒŒ๊ธฐ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat: DI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ (#546)

* config: Hilt ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: hilt ์˜์กด์„ฑ ๋ณ€๊ฒฝ

* style: ktlint

* feat: MeetingRoomViewModel AssistedInject๋กœ ๋ณ€๊ฒฝ

* style: ktlint

* style: ktlint

* fix: Kakao URL ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* del: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* style: ktlint

* feat: HiltWorker๋ฅผ ์œ„ํ•œ Hilt ์„ธํŒ…

* fix: Workmanger ๋™์ž‘ ์•ˆ๋˜๋˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* del: ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* del: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ mApplication ํ”„๋กœํผํ‹ฐ ์‚ญ์ œ

* style: ktlint

* fix: Dev ์„œ๋ฒ„ Swagger ์ ‘์† ์—๋Ÿฌ ํ•ด๊ฒฐ  (#549)

* refactor: Lazy ์˜ˆ์™ธ ํ•ด๊ฒฐ

* refactor: swagger-ui ๊ฒฝ๋กœ ์ˆ˜์ •

* chore: cd ๋ฌธ์„œ ์ž‘์„ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* chore: swagger-ui path ์ง€์ • ๋ฐ˜์˜

* chore: swagger-ui path ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* chore: dev-cd ํŠธ๋ฆฌ๊ฑฐ develop์œผ๋กœ ๋กค๋ฐฑ

* refactor: Nickname ๊ฐ์ฒด ๋กœ์ง ์ •๋ฆฌ (#540)

* refactor: Member, Mate ๋‹‰๋„ค์ž„ ํ•„๋“œ ํƒ€์ž…์„ `Nickname`์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ์ˆ˜์ •

* ๏ฟฝstyle: ์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ ฌ

Co-authored-by: eun-byeol <[email protected]>

* refactor: toDeviceToken, toNickname ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

---------

Co-authored-by: eun-byeol <[email protected]>

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ๊นจ์ง (#558)

* fix: Odsay API ์š”์ฒญ ์ •์ง€ ๋ณต๊ตฌ (#559)

* feat: OdsayApi key ๋ณ€๊ฒฝ

* style: ์• ๋„ˆํ…Œ์ด์…˜ ์žฌ์ •๋ ฌ

* refactor: @Disabled ์ฒ˜๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ • (#551)

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ•˜๋“œ ์ฝ”๋”ฉ ๋ฌธ์ž์—ด์„ InviteCodeGenerator๋กœ ์ƒ์„ฑ๋œ ์ดˆ๋Œ€์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ

* refactor: Test ํ™˜๊ฒฝ์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” FixtureGeneratorConfig๋กœ ๋ณ€๊ฒฝ

* refactor: ์ดˆ๋Œ€์ฝ”๋“œ ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: findAllByMember() ํ…Œ์ŠคํŠธ @Disabled ์ œ๊ฑฐ

* refactor: FixtureGenerator์— ํšŒ์›์˜ ์—‘์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ ๋กœ์ง ์ถ”๊ฐ€

* refactor: BaseServiceTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ

* refactor: BaseRepositoryTest ์ถ”์ƒ ํด๋ž˜์Šค์— TestAuthConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ test ํ”„๋กœํ•„๋กœ ํ™œ์„ฑํ™”

* refactor: BaseControllerTest ์ถ”์ƒ ํด๋ž˜์Šค์— FixtureGeneratorConfig ์ž„ํฌํŠธ ์ ์šฉ ๋ฐ ๋ฏธ์‚ฌ์šฉ ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ

* fix: ๋””๋ฏธํ„ฐ ๋ฒ•์น™ getter conflict ํ•ด๊ฒฐ

---------

Co-authored-by: coli-geonwoo <[email protected]>

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๋ฒ„ํŠผ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๊ตฌํ˜„ (#548)

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* design: ์žฌ์ด‰ํ•˜๊ธฐ ๊ฐ€์ด๋“œ ๋‘๋ฒˆ์งธ ํ™”๋ฉด ui ๊ตฌํ˜„

* feat: eta ์ฒ˜์Œ ์ ‘์† ์‹œ ๊ฐ€์ด๋“œ ํ™”๋ฉด ๋œจ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ์ง€๊ฐ, ์ง€๊ฐ ์œ„๊ธฐ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

* feat: ๊ฐ€์ด๋“œ ํˆด๋ฐ” ์ œ๋ชฉ์„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ „๋‹ฌ

* style: ktLint ์ ์šฉ

* refactor: Datastore๋ฅผ Hilt๋กœ ๊ฐ€์ ธ์˜ค๋„๋ก ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* fix: fcm admin sdk ๋ณ€๊ฒฝ (#566)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์นด์นด์˜ค api ํ˜ธ์ถœ ์ œ๊ฑฐ (#568)

* chore: ์นด์นด์˜ค ํƒˆํ‡ด api ํ˜ธ์ถœ ์ œ๊ฑฐ

* fix: KakaoLoginRepository์— override ์ถ”๊ฐ€

* style: ktLint ์ ์šฉ

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์ „์†ก ์—๋Ÿฌ ๋ฌธ์ œ ํ•ด๊ฒฐ (#569)

* fix: ์ž…์žฅ ์•Œ๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: ์•Œ๋ฆผ ํƒ€์ž… ๋กœ๊น… ์ถ”๊ฐ€

* chore: ์˜ค๋””์„ธ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜ ํ™•์ธ์„ ์œ„ํ•œ ๋กœ๊ทธ ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* fix: odsay ํ˜ธ์ถœ ๋ฌธ์ œ ํ•ด๊ฒฐ (#573)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ํ‘ธ์‹œ ๋ฉ”์„ธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์•ฑ ๋‚ด๋กœ ์ ‘์† (#572)

* feat: ์•Œ๋ฆผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ

* style: ktlint

* del: ๋ถˆํ•„์š”ํ•œ MEMBER_DELETION ํƒ€์ž… ์ œ๊ฑฐ

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณ€๊ฒฝ

* refactor: ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ ์™ธ๋ถ€ api ์˜์กด์„ฑ ๋‚ฎ์ถ”๊ธฐ (#555)

* feat: Google ์†Œ์š”์‹œ๊ฐ„ ๊ณ„์‚ฐ API ์ถ”๊ฐ€

* chore: google maps api ํ‚ค ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ RestClient ํ…Œ์ŠคํŠธ๋กœ ์ˆ˜์ •

* refactor: DistanceMatrixResponse ํ•„๋“œ ์ˆ˜์ •

* refactor: GoogleRouteClient ๊ฒ€์ฆ ์ถ”๊ฐ€ ๋ฐ URI ์ธ์ฝ”๋”ฉ ๋ฏธ์ ์šฉ

* test: GoogleRouteClient ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ํ…Œ์ŠคํŠธ์šฉ RouteClient ๊ตฌํ˜„์ฒด ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: RouteService ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • ๋ฐ ๋กœ๊น… ์ถ”๊ฐ€

* test: ๋‹คํ˜•์„ฑ ์ ์šฉ๋œ ๋นˆ ์˜์กด์„ฑ ์ˆœ์„œ ์ง€์ •

* test: RouteServiceTest @Before Each ์ œ๊ฑฐ

* test: ํ˜ธ์ถœ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ Mockito.never() ์‚ฌ์šฉ

* refactor: RouteConfig์˜ RouteClient ๊ตฌํ˜„์ฒด๋“ค์— @Qualifer ์ œ๊ฑฐ

* test: TestRouteConfig ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ œ๊ฑฐ

* test: ๋ฉ”์„œ๋“œ ์ˆœ์„œ ๋ณ€๊ฒฝ

* feat: DistanceMatrixResponse์— API ๋ฌธ์„œ ๋งํฌ ์ฃผ์„ ์ถ”๊ฐ€

* fix: hilt ์ ์šฉ๋œ ๋’ค ์ดˆ๋Œ€ํ•˜๊ธฐ, ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ (#578)

* fix: ์นด์นด์˜คํ†ก ์ดˆ๋Œ€ ์ฝ”๋“œ ๊ณต์œ  ๋ฒ„๊ทธ

* fix: ๋ฆฌํ”„๋ ˆ์‰ฌ Service๊ฐ€ RefreshRetrofit ์ฐธ์กฐํ•˜๊ฒŒ ๋ณ€๊ฒฝ

* style: ktlint

* chore: Flyway๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (#577)

* chore: flyway dependency ์ถ”๊ฐ€

* chore: yml ์„ค์ • ๋ฐ schema.sql ์ œ๊ฑฐ

* chore: ์ดˆ๊ธฐ ์„ธํŒ… sql ์ถ”๊ฐ€

* chore: AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ ์šฉ (#564)

* chore: health check ์˜์กด์„ฑ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ๋”ฐ๋ฅธ cd ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod lb ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* refactor: pull-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ๋„ค์ด๋ฐ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: lb ์ ์šฉ์„ ์œ„ํ•œ cd ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: build-and-deploy ๊ณตํ†ต ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: jasypt env ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ddl-auto ์˜ต์…˜ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: pull-and-deploy ์ง๋ ฌ์ฒ˜๋ฆฌ ๋ณ€๊ฒฝ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ํŠธ๋ฆฌ๊ฑฐ ๋ธŒ๋žœ์น˜ ์›๋ณต

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod ์„œ๋ฒ„ ddl ์„ค์ • validate๋กœ ๋ณต๊ตฌ

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod DB๋ฅผ RDS ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ (#574)

* feat: RDS ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ถ”๊ฐ€

* refactor: ReplicationDataSourceConfig DependsOn ์ œ๊ฑฐ ํ”„๋กœํ•„ prod ์ ์šฉ

* refactor: ReplicationDataSourceRouter ํƒ€์ž… ๊ฒฐ์ • ๋กœ์ง ์ˆ˜์ •

* chore: OSIV false ใ…ˆ๊ฑฐ์šฉ

* chore: local ํ”„๋กœํ•„ ์„ค์ • ๋กค๋ฐฑ

* refactor: default datasource ์ฝ๊ธฐ ์†Œ์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: dataSource ๋ฉ”์„œ๋“œ ์ธ์ž์— @Qualifier ์ถ”๊ฐ€

* refactor: ReplicationType enum ํด๋ž˜์Šค์— ๋กฌ๋ณต ์ถ”๊ฐ€

---------

Co-authored-by: mzeong <[email protected]>

* refactor: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒํ˜ธ๋ช…์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” api๋กœ ๋ณ€๊ฒฝ (#580)

* chore: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์˜ˆ์ „ ์ฝ”๋“œ ์‚ญ์ œ

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ui ๊ตฌํ˜„

* chore: ๊ธฐ์กด ์นด์นด์˜ค ์ฃผ์†Œ api ์‚ญ์ œ

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๊ตฌํ˜„

* chore: address, location ๋„ค์ด๋ฐ ํ†ต์ผ

* feat: ์นด์นด์˜ค ์ฃผ์†Œ ๊ฒ€์ƒ‰ api ์—ฐ๊ฒฐ

* feat: ์ž…๋ ฅ์ฐฝ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ํ™”๋ฉด๋„ ๋น„์–ด์žˆ๋„๋ก ๊ตฌํ˜„

* fix: ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ์ฃผ์†Œ ๊ฒฐ๊ณผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* style: ktLint ์ ์šฉ

* chore: ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* refactor: ํŽ˜์ด์ง€ ๋””ํดํŠธ ์‚ฌ์ด์ฆˆ ์œ„์น˜ ๋ณ€๊ฒฝ

* test: Fake Repository ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ์ˆ˜์ •

* feat: ์•ฝ์† ์‹œ๊ฐ„ 30๋ถ„์ „ ETA ์กฐํšŒ ๊ฐ€๋Šฅ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#563)

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ํƒ€์ž… ์ถ”๊ฐ€

* refactor: ๋ฉ”์„ธ์ง€ ํด๋ž˜์Šค record๋กœ ๋ณ€๊ฒฝ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์Šค์ผ€์ค„๋ง ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์ „์†ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์•ฝ์† 30๋ถ„์ „ ์‹œ๊ฐ„์„ meeting์—์„œ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* test: ๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* test: ETA ๊ณต์ง€ ์•Œ๋ฆผ ์˜ˆ์•ฝ ๋กœ์ง ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: eta ์•Œ๋ฆผ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋กœ์ง ์„œ๋น„์Šค๋กœ ์ด๋™

* refactor: Notification createDepartureReminder ์•Œ๋ฆผ ํƒ€์ž… PENDING์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: DirectMessage ์ •ํŒฉ๋ฉ” ๋„ค์ด๋ฐ ์ˆ˜์ •

* refactor: GroupMessage ๋‚ด์—์„œ ๊ณต์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ •

* chore: flyway ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ sql ์ถ”๊ฐ€

* refactor: KST_OFFSET ์ƒ์ˆ˜ TimeUtil๋กœ ์ด๋™

* chore: ์Šคํ‚ค๋งˆ ํŒŒ์ผ ์ œ๊ฑฐ

* chore: flyway V2 notification ์ฒดํฌ ์ œ์•ฝ ์กฐ๊ฑด ์ œ๊ฑฐ ๊ตฌ๋ฌธ ์ œ๊ฑฐ (#585)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋””ํดํŠธ ํ˜„์žฌ ์œ„์น˜ ์ œ๊ณต (#589)

* feat: ์ขŒํ‘œ๋ฅผ ํ†ตํ•ด ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๋Š” ์นด์นด์˜ค resonse ๊ฐ’ ์ถ”๊ฐ€

* refactor: Address์— ๋””ํดํŠธ ๊ฐ’ ์ถ”๊ฐ€

* feat: ๋””ํดํŠธ๋กœ ํ˜„์žฌ ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ktlint

* refactor: FakeAddressRepository ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* style: ktlint

* refactor: ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ

* refactor: MeetingJoinViewModel์— ์ธ์ž ์ถ”๊ฐ€ ์ „๋‹ฌ

* refactor: ํ˜„์žฌ์œ„์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋กœ๋”ฉ ์ถ”๊ฐ€

* fix: ์œ„์น˜ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด ๋ณ€๊ฒฝ

* design: ๋Œ€์ค‘๊ตํ†ต ๋ฉ˜ํŠธ ์ถ”๊ฐ€ (#594)

* refactor: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์ผ€์ค„๋ง ๋ฆฌํŒฉํ„ฐ๋ง (#586)

* refactor: WorkManager์˜ enqueue ๊ฐœ์ˆ˜ ์ œํ•œ default ๊ฐ’์ธ 20์—์„œ 50์œผ๋กœ ์ˆ˜์ •

* refactor: meeting๋งˆ๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” Job์˜ UUID๋ฅผ DataStore์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: result๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ์ผ์ • ์ฃผ๊ธฐ๋กœ setProgress๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ์˜๋„ํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๋งŽ์ด work๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* refactor: ci ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ ์Šค์ผ€์ค„๋ง ๋ชจ๋‘ ์‚ญ์ œ (#596)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: ci ์ˆ˜์ •

* fix: gps null์ผ ๋•Œ ์กฐ๊ฑด ์ถ”๊ฐ€ (#600)

* design: RecyclerView overScrollMode ์†์„ฑ ๋ณ€๊ฒฝ (#603)

* fix: eta ๋ชฉ๋ก ํ™”๋ฉด ๋ถˆ์•ˆ์ •ํ•œ ๋ฌธ์ œ ์ˆ˜์ • (#619)

* refactor: ํšŒ์› ํƒˆํ‡ด ์‹œ ์˜ˆ์•ฝ๋œ job ๋ชจ๋‘ ์‚ญ์ œ

* refactor: setProgress ๋Œ€์‹  db๋กœ ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ํ›„ LiveData๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ํšŒ์› ํƒˆํ‡ด ์‹œ db์— ์ €์žฅ๋œ eta ์ •๋ณด ์‚ญ์ œ

* refactor: ci์ˆ˜์ •

* style: ์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€

---------

Co-authored-by: kimhyemin <[email protected]>

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ cd ๋ฐฐํฌ ์œ„์น˜ ํ…Œ์ŠคํŠธ ํŠธ๋ž™์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž™์œผ๋กœ ๋ณ€๊ฒฝ (#626)

* release: ์•ˆ๋“œ๋กœ์ด๋“œ 1.0.0 ์ถœ์‹œ (#627)

* fix: ๋‚œ๋…ํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: versionName 1.0.0 ๋ณ€๊ฒฝ

* config: ๋ฒ„์ „ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* hotfix: merge hotfix from main into develop (#642)

* chore: ์ฝ๊ธฐ, ์“ฐ๊ธฐ DB ์—ฐ๊ฒฐ ์กฐ๊ฑด ๋ณ€๊ฒฝ (flyway ์“ฐ๊ธฐ ์ž‘์—… ์˜ค๋ฅ˜ ํ•ด๊ฒฐ) (#592)

* release: ๋ฐฑ์—”๋“œ ๋ฒ„์ „ 1 ๋ฐฐํฌ (#468)

* docs: ๋ฆฌ๋“œ๋ฏธ ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ๋ช… ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: PR ํ…œํ””๋ฆฟ ํŒŒ์ผ ์œ„์น˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™” (#3)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  (#6)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œํ™”

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* config: ๋ฐฑ์—”๋“œ ๋ชจ๋“ˆ ์„ค์ • ์ถ”๊ฐ€

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API ๋ฌธ์„œ ๊ฐ€๋…์„ฑ ๊ฐœ์„ 

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: mzeong <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„ (#8)

* feat: Meeting ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Member ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Mate ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* feat: Notification ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* refactor: Location ํ•„๋“œ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™” (#11)

* docs: ๋ชจ์ž„ ๊ฐœ์„ค API DTO ์ด๋ฆ„ ๋ณ€๊ฒฝ

* docs: ๋ชจ์ž„ ์ฐธ์—ฌ API ๋ฌธ์„œํ™”

* docs: ๋ชจ์ž„ ๊ฐœ์„ค, ๋ชจ์ž„ ์ฐธ์—ฌ API ์ƒํƒœ ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ดˆ์„ธํŒ… (#15)

* config: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* config: ์˜์กด์„ฑ ์ถ”๊ฐ€

* design: ๋””์ž์ธ ๊ธฐ์ดˆ ์„ค์ •

* chore: ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ manifest ์„ค์ •

- ์•Œ๋ฆผ ๊ถŒํ•œ
- ์ธํ„ฐ๋„ท ๊ถŒํ•œ
- ๊ฐ€๋กœ ๋ชจ๋“œ ๊ณ ์ • ์„ค์ •

* feat: Timber ์ดˆ๊ธฐ ์„ค์ •

* chore: MainActivity -> IntroActivity ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์„ค์ •

* feat: Retrofit ์ดˆ๊ธฐ ์„ค์ •

* docs: ์ฐธ์—ฌ์ค‘์ธ ๋ชจ์ž„ ๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™” (#17)

* chore: dto ๋””๋ ‰ํ† ๋ฆฌ ์„ธ๋ถ€ํ™”

* docs: ์ฐธ์—ฌํ•œ ๋ชจ์ž„๋ชฉ๋ก ์กฐํšŒ API ๋ฌธ์„œํ™”

* refactor: ๋ฆฌ์†Œ์Šค url ๋ฏธ๋ฐ˜ํ™˜

---------

Co-authored-by: coli-geonwoo <[email protected]>

* docs: FCM ํ† ํฐ ์ €์žฅ, ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œํ™” (#16)

* docs: ํšŒ์› ์ถ”๊ฐ€ API ๋ฌธ์„œ ์ถ”๊ฐ€

* docs: ์ดˆ๋Œ€ ์ฝ”๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ API ๋ฌธ์„œ ์ถ”๊ฐ€

* style: ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ ์šฉ

* refactor: ํšŒ์› ์ถ”๊ฐ€ API ๋งคํ•‘ URL ์ถ”๊ฐ€

* style: ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ์  ์ปจ๋ฒค์…˜ ์ ์šฉ

* docs: ๋กœ๊ทธ ๋ชฉ๋ก API ์ถ”๊ฐ€ (#14)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#42)

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„ (#41)

* design: ์˜ค๋”” ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

* feat: ์Šคํ”Œ๋ž˜์‰ฌ ํ™”๋ฉด ๊ตฌํ˜„

* chore: Android 12์— ์ถ”๊ฐ€๋œ Splash disable ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#40)

* design: ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์ด ์กด์žฌํ•˜๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ์ž…๋ ฅ์ฐฝ ์Šคํƒ€์ผ ๊ตฌํ˜„

* design: ํ•˜๋‹จ ๋ฒ„ํŠผ ์Šคํƒ€์ผ ๊ตฌํ˜„ (๋‹ค์Œ, ํ™•์ธ)

* design: ์ œ๋ชฉ์ด ์žˆ๋Š” ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: ๋กœ๊ทธ ํ™”๋ฉด์˜ ํˆด๋ฐ” ui ๊ตฌํ˜„

* design: EditText drawable ํ…Œ๋‘๋ฆฌ ์ˆ˜์ •

* style: ์ฝ”๋“œ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ

* chore: ์•ฑ ์•„์ด์ฝ˜ ์˜ค๋”” ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ (#44)

* chore: ์•ฑ status bar ์ถ”๊ฐ€ (#45)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ (#48)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ํ™”๋ฉด ๊ตฌํ˜„ (#47)

* design: ์•ฝ์† ์žฅ์†Œ ์ž…๋ ฅ ui ๊ตฌํ˜„

* design: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ ui ๊ตฌํ˜„

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* design: ๋‹ค์ด์–ผ๋กœ๊ทธ ui ์ˆ˜์ •

* style: ktLint ์ ์šฉ

* config: ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ, ๋ทฐ ๋ฐ”์ธ๋”ฉ ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* refactor: ๋‹ค์ด์–ผ๋กœ๊ทธ ์„ค์ • ์ฝ”๋“œ scope function์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Timber์— DebugTree ์ถ”๊ฐ€ (#50)

* chore: buildConfig true๋กœ ์„ค์ •

* feat: OdyDebugTree ๊ตฌํ˜„

* Merge branch 'feature/49' into develop

* Merge branch 'feature/49' into develop

* Revert "Merge branch 'feature/49' into develop"

This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0.

* Revert "Merge branch 'feature/49' into develop"

This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3.

---------

Co-authored-by: aprilgom <[email protected]>

* chore: android ci ๊ตฌ์ถ• (#54)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: FCM ๊ตฌํ˜„ (#52)

* feat: ํ—ค๋”์— Authorization ํ•„๋“œ ์ถ”๊ฐ€, BASE_URL local.properties๋กœ ์ด๋™

* feat: ํšŒ์› ์ถ”๊ฐ€ ์„œ๋น„์Šค ๊ตฌํ˜„

* feat: FCM ๊ตฌํ˜„, ์•ฑ ์„ค์น˜ ํ›„ ์ฒ˜์Œ ์‹คํ–‰ ์‹œ ํšŒ์› ์ถ”๊ฐ€ API ์ „์†ก

* style: lint

* config: ์˜์กด์„ฑ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* config: ์„œ๋ฒ„ URL ๋ณ€์ˆ˜ ์ด๋ฆ„ BASE_URL๋กœ ๋ณ€๊ฒฝ

* refactor: Service ๊ฒฝ๋กœ postfix ์ด๋ฆ„ PATH๋กœ ๋ณ€๊ฒฝ

---------

Co-authored-by: kimhm0728 <[email protected]>

* chore: cicd ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• (#55)

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์Šคํฌ๋ฆฝํŠธ paths ์ฃผ์„์ฒ˜๋ฆฌ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker build push job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend-cicd-dev.yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd job ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ์ฃผ์„ ์ œ๊ฑฐ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cd yml ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend dockerfile ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend ci ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml, dockerfile ์ˆ˜์ •

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: backend cicd yml ํŒŒ์ผ ํ†ตํ•ฉ (#62)

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” backend ci yml ํŒŒ์ผ ์‚ญ์ œ

Co-authored-by: coli-geonwoo <[email protected]>

* chore: workflow ์Šคํฌ๋ฆฝํŠธ ๋‚ด actions ๋ฒ„์ „ ์ตœ์‹ ํ™”

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

* chore: ci ์ž‘์—…์—์„œ test ์‹คํŒจ ์‹œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: coli-geonwoo <[email protected]>

---------

Co-authored-by: coli-geonwoo <[email protected]>

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#64)

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ

* chore: android ci ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ๋‹ค์ด์–ผ๋กœ๊ทธ ๊ตฌํ˜„ (#67)

* feat: ์ฃผ์†Œ ๊ฒ€์ƒ‰ ์›น๋ทฐ html ์ถ”๊ฐ€

* style: EditText ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* config: ์ค‘๋ณต๋˜๋Š” ์˜์กด์„ฑ ์ œ๊ฑฐ

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ ์„ ํƒํ•œ ์ฃผ์†Œ๋ฅผ fragment์— ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ui ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ค๋„๋ก ์ˆ˜์ •

* refactor: ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€๊ฒฝ

* style: ๋‹ค์ด์–ผ๋กœ๊ทธ ํฌ๊ธฐ ๋ณ€๊ฒฝ

* feat: ์ฃผ์†Œ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€

* style: ktlint ์ ์šฉ

* chore: AddressListener -> AddressReceiveListener ์ธํ„ฐํŽ˜์ด์Šค๋ช… ๋ณ€๊ฒฝ

* chore: DestinationFragment -> MeetingDestinationFragment ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* feat: ๋ชจ์ž„ ๊ฐœ์„ค ์‹œ ํ”„๋ž˜๊ทธ๋จผํŠธ๋“ค ์—ฐ๊ฒฐํ•˜๋Š” ๋ทฐํŽ˜์ด์ € (#69)

* chore: dotsibdicator ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ๋ชจ์ž„ ๋ฐฉ ๊ฐœ์„ค์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด๋“ค ์ถ”๊ฐ€

* feat: ViewPager2 Adapter ๊ตฌํ˜„

* feat: ViewPager์™€ ํƒญ๋ฐ” ๋’ค๋กœ ๊ฐ€๊ธฐ ์—ฐ๊ฒฐ

* feat: ํด๋ž˜์Šค ๋ช… ๋ณ€๊ฒฝ ๋ฐ indicator ๋ณ€๊ฒฝ

WormDotsIndicator -> DotsIndicator indicator
StartingPointFragment -> JoinStartingPointFragment

* chore: ktlint apply true๋กœ ๋ณ€๊ฒฝ

* chore: deprecated buildconfig ์ œ๊ฑฐ

* chore: ksp โ€ฆ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

refactor: BaseActivity, BaseFragment
3 participants