diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index efa1a081..0445240a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,7 +43,7 @@
tools:targetApi="31">
@@ -52,17 +52,17 @@
@@ -71,31 +71,31 @@
().find { it.name == name } ?: Restaurant.HAKSIK
Timber.d("onViewCreated: $name $restaurantType")
binding.tvName.text = restaurantType.displayName
- // Collect the infoList Flow
CoroutineScope(Dispatchers.Main).launch {
- infoViewModel.infoList.collect { restaurantInfoList ->
+ infoViewModel.infoList.collect {
val restaurantInfo = infoViewModel.getRestaurantInfo(restaurantType)
restaurantInfo?.let {
diff --git a/app/src/main/java/com/eatssu/android/ui/info/InfoViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/info/InfoViewModel.kt
similarity index 75%
rename from app/src/main/java/com/eatssu/android/ui/info/InfoViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/info/InfoViewModel.kt
index ed3cfccb..c71dded0 100644
--- a/app/src/main/java/com/eatssu/android/ui/info/InfoViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/info/InfoViewModel.kt
@@ -1,14 +1,14 @@
-package com.eatssu.android.ui.info
+package com.eatssu.android.presentation.info
-import android.util.Log
import androidx.lifecycle.ViewModel
import com.eatssu.android.data.enums.Restaurant
-import com.eatssu.android.data.model.RestaurantInfo
import com.eatssu.android.data.repository.FirebaseRemoteConfigRepository
+import com.eatssu.android.domain.model.RestaurantInfo
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
+import timber.log.Timber
import javax.inject.Inject
@HiltViewModel
@@ -16,23 +16,19 @@ class InfoViewModel @Inject constructor(
private val firebaseRemoteConfigRepository: FirebaseRemoteConfigRepository
) : ViewModel() {
- // StateFlow to hold restaurant info list
private val _infoList = MutableStateFlow>(emptyList())
val infoList: StateFlow> = _infoList.asStateFlow()
- // Map to hold restaurant info
private val restaurantInfoMap: MutableMap = mutableMapOf()
init {
- // Load cafeteria info from repository and update the StateFlow
_infoList.value = firebaseRemoteConfigRepository.getCafeteriaInfo()
- Log.d("InfoViewModel", _infoList.value.toString())
+ Timber.d(_infoList.value.toString())
_infoList.value.forEach { restaurantInfo ->
restaurantInfoMap[restaurantInfo.enum] = restaurantInfo
}
}
- // Helper function to get restaurant details
fun getRestaurantInfo(restaurant: Restaurant): RestaurantInfo? {
return restaurantInfoMap[restaurant]
}
diff --git a/app/src/main/java/com/eatssu/android/ui/login/IntroActivity.kt b/app/src/main/java/com/eatssu/android/presentation/login/IntroActivity.kt
similarity index 91%
rename from app/src/main/java/com/eatssu/android/ui/login/IntroActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/login/IntroActivity.kt
index 58f41683..1f2b3fdb 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/IntroActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/login/IntroActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.login
+package com.eatssu.android.presentation.login
import android.os.Bundle
import android.os.Handler
@@ -7,8 +7,8 @@ import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import com.eatssu.android.R
-import com.eatssu.android.ui.main.MainActivity
-import com.eatssu.android.util.extension.startActivity
+import com.eatssu.android.presentation.main.MainActivity
+import com.eatssu.android.presentation.util.startActivity
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/login/IntroViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/login/IntroViewModel.kt
similarity index 90%
rename from app/src/main/java/com/eatssu/android/ui/login/IntroViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/login/IntroViewModel.kt
index bd3e9ab4..5dabe8a2 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/IntroViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/login/IntroViewModel.kt
@@ -1,8 +1,8 @@
-package com.eatssu.android.ui.login
+package com.eatssu.android.presentation.login
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.eatssu.android.data.usecase.auth.GetAccessTokenUseCase
+import com.eatssu.android.domain.usecase.auth.GetAccessTokenUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/login/LoginActivity.kt b/app/src/main/java/com/eatssu/android/presentation/login/LoginActivity.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/login/LoginActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/login/LoginActivity.kt
index 82cd2393..758a6dcf 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/LoginActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/login/LoginActivity.kt
@@ -1,14 +1,14 @@
-package com.eatssu.android.ui.login
+package com.eatssu.android.presentation.login
import android.os.Bundle
import android.view.View
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityLoginBinding
-import com.eatssu.android.ui.main.MainActivity
-import com.eatssu.android.util.extension.showToast
-import com.eatssu.android.util.extension.startActivity
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.main.MainActivity
+import com.eatssu.android.presentation.util.showToast
+import com.eatssu.android.presentation.util.startActivity
import com.kakao.sdk.common.model.ClientError
import com.kakao.sdk.common.model.ClientErrorCause
import com.kakao.sdk.user.UserApiClient
diff --git a/app/src/main/java/com/eatssu/android/ui/login/LoginViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/login/LoginViewModel.kt
similarity index 89%
rename from app/src/main/java/com/eatssu/android/ui/login/LoginViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/login/LoginViewModel.kt
index 425e32da..ec701a05 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/LoginViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/login/LoginViewModel.kt
@@ -1,14 +1,14 @@
-package com.eatssu.android.ui.login
+package com.eatssu.android.presentation.login
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.R
import com.eatssu.android.data.dto.request.LoginWithKakaoRequest
-import com.eatssu.android.data.usecase.auth.LoginUseCase
-import com.eatssu.android.data.usecase.auth.SetAccessTokenUseCase
-import com.eatssu.android.data.usecase.auth.SetRefreshTokenUseCase
-import com.eatssu.android.data.usecase.auth.SetUserEmailUseCase
+import com.eatssu.android.domain.usecase.auth.LoginUseCase
+import com.eatssu.android.domain.usecase.auth.SetAccessTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SetRefreshTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SetUserEmailUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/login/UserApiClient.kt b/app/src/main/java/com/eatssu/android/presentation/login/UserApiClient.kt
similarity index 98%
rename from app/src/main/java/com/eatssu/android/ui/login/UserApiClient.kt
rename to app/src/main/java/com/eatssu/android/presentation/login/UserApiClient.kt
index 9ea55ba1..d9f0c70c 100644
--- a/app/src/main/java/com/eatssu/android/ui/login/UserApiClient.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/login/UserApiClient.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.login
+package com.eatssu.android.presentation.login
import android.content.Context
import com.kakao.sdk.auth.model.OAuthToken
diff --git a/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt b/app/src/main/java/com/eatssu/android/presentation/main/MainActivity.kt
similarity index 84%
rename from app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/MainActivity.kt
index a7d1ab43..ce8a2282 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/MainActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/MainActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main
+package com.eatssu.android.presentation.main
import android.annotation.SuppressLint
import android.content.Intent
@@ -19,19 +19,19 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import com.eatssu.android.R
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityMainBinding
-import com.eatssu.android.ui.main.calendar.CalendarAdapter
-import com.eatssu.android.ui.main.calendar.CalendarAdapter.OnItemListener
-import com.eatssu.android.ui.main.calendar.CalendarViewModel
-import com.eatssu.android.ui.mypage.MyPageActivity
-import com.eatssu.android.ui.mypage.MyPageViewModel
-import com.eatssu.android.ui.mypage.usernamechange.UserNameChangeActivity
-import com.eatssu.android.util.CalendarUtils
-import com.eatssu.android.util.CalendarUtils.daysInWeekArray
-import com.eatssu.android.util.CalendarUtils.monthYearFromDate
-import com.eatssu.android.util.extension.showToast
-import com.eatssu.android.util.extension.startActivity
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.main.calendar.CalendarAdapter
+import com.eatssu.android.presentation.main.calendar.CalendarAdapter.OnItemListener
+import com.eatssu.android.presentation.main.calendar.CalendarViewModel
+import com.eatssu.android.presentation.mypage.MyPageActivity
+import com.eatssu.android.presentation.mypage.MyPageViewModel
+import com.eatssu.android.presentation.mypage.usernamechange.UserNameChangeActivity
+import com.eatssu.android.presentation.util.CalendarUtil
+import com.eatssu.android.presentation.util.CalendarUtil.daysInWeekArray
+import com.eatssu.android.presentation.util.CalendarUtil.monthYearFromDate
+import com.eatssu.android.presentation.util.showToast
+import com.eatssu.android.presentation.util.startActivity
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import dagger.hilt.android.AndroidEntryPoint
@@ -106,7 +106,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl
}
initWidgets()
- CalendarUtils.selectedDate = LocalDate.now()
+ CalendarUtil.selectedDate = LocalDate.now()
calendarViewModel.setData(LocalDate.now())
setWeekView()
}
@@ -119,8 +119,8 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl
@RequiresApi(Build.VERSION_CODES.O)
private fun setWeekView() {
- monthYearText?.setText(CalendarUtils.selectedDate?.let { monthYearFromDate(it) })
- val days: ArrayList? = CalendarUtils.selectedDate?.let { daysInWeekArray(it) }
+ monthYearText?.setText(CalendarUtil.selectedDate?.let { monthYearFromDate(it) })
+ val days: ArrayList? = CalendarUtil.selectedDate?.let { daysInWeekArray(it) }
val calendarAdapter = days?.let { CalendarAdapter(it, this) }
val gridLayoutManager = GridLayoutManager(applicationContext, 7)
@@ -130,21 +130,21 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl
@RequiresApi(Build.VERSION_CODES.O)
fun previousWeekAction(view: View?) {
- CalendarUtils.selectedDate = CalendarUtils.selectedDate.minusWeeks(1)
- onItemClick(mainPosition, CalendarUtils.selectedDate)
+ CalendarUtil.selectedDate = CalendarUtil.selectedDate.minusWeeks(1)
+ onItemClick(mainPosition, CalendarUtil.selectedDate)
setWeekView()
}
@RequiresApi(Build.VERSION_CODES.O)
fun nextWeekAction(view: View?) {
- CalendarUtils.selectedDate = CalendarUtils.selectedDate.plusWeeks(1)
- onItemClick(mainPosition, CalendarUtils.selectedDate)
+ CalendarUtil.selectedDate = CalendarUtil.selectedDate.plusWeeks(1)
+ onItemClick(mainPosition, CalendarUtil.selectedDate)
setWeekView()
}
@RequiresApi(Build.VERSION_CODES.O)
override fun onItemClick(position: Int, date: LocalDate) {
- CalendarUtils.selectedDate = date
+ CalendarUtil.selectedDate = date
calendarViewModel.setData(date)
mainPosition = position
diff --git a/app/src/main/java/com/eatssu/android/ui/main/MainViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/main/MainViewModel.kt
similarity index 96%
rename from app/src/main/java/com/eatssu/android/ui/main/MainViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/MainViewModel.kt
index 7738df8f..26644844 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/MainViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/MainViewModel.kt
@@ -1,10 +1,10 @@
-package com.eatssu.android.ui.main
+package com.eatssu.android.presentation.main
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.R
-import com.eatssu.android.data.usecase.auth.GetUserInfoUseCase
+import com.eatssu.android.domain.usecase.auth.GetUserInfoUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt b/app/src/main/java/com/eatssu/android/presentation/main/ViewPager2Adapter.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/ViewPager2Adapter.kt
index 32b390b6..691b055c 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/ViewPager2Adapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/ViewPager2Adapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main
+package com.eatssu.android.presentation.main
import android.os.Build
import androidx.annotation.RequiresApi
@@ -6,7 +6,7 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.eatssu.android.data.enums.Time
-import com.eatssu.android.ui.main.menu.MenuFragment
+import com.eatssu.android.presentation.main.menu.MenuFragment
import java.time.LocalTime
class ViewPager2Adapter(fragmentActivity: FragmentActivity) :
diff --git a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarAdapter.kt
similarity index 93%
rename from app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarAdapter.kt
index 372ad2b6..d1bff85c 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarAdapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.calendar
+package com.eatssu.android.presentation.main.calendar
import android.os.Build
import android.view.LayoutInflater
@@ -8,7 +8,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.R
import com.eatssu.android.databinding.ItemCalendarListBinding
-import com.eatssu.android.util.CalendarUtils
+import com.eatssu.android.presentation.util.CalendarUtil
import java.time.LocalDate
import java.time.format.TextStyle
import java.util.Locale
@@ -47,7 +47,7 @@ internal class CalendarAdapter(
* 2. 오늘 날짜 != 선택한 날짜 일 경우에는, 오늘 날짜의 text 색상을 primary color 표기하여, 오늘 날짜를 강조합니다.
*/
- if (date == CalendarUtils.selectedDate) { //셀렉트 된 날짜
+ if (date == CalendarUtil.selectedDate) { //셀렉트 된 날짜
holder.dayOfMonth.setBackgroundResource(R.drawable.selector_background_blue)
holder.dayOfMonth.setTextColor(
ContextCompat.getColor(
@@ -55,7 +55,7 @@ internal class CalendarAdapter(
R.color.selector_calendar_colortext
)
)
- } else if (date == LocalDate.now() && date != CalendarUtils.selectedDate) {
+ } else if (date == LocalDate.now() && date != CalendarUtil.selectedDate) {
//오늘 날짜가 선택 되지 않았을 때, 오늘 날 text 색 지정
holder.dayOfMonth.setTextColor(
ContextCompat.getColor(
diff --git a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewHolder.kt b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewHolder.kt
similarity index 84%
rename from app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewHolder.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewHolder.kt
index d240f2f3..96efac8a 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewHolder.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewHolder.kt
@@ -1,14 +1,10 @@
-package com.eatssu.android.ui.main.calendar
+package com.eatssu.android.presentation.main.calendar
-import android.os.Build
-import com.eatssu.android.R
import android.view.View
import android.widget.TextView
-import androidx.annotation.RequiresApi
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.databinding.ItemCalendarListBinding
import java.time.LocalDate
-import java.time.format.DateTimeFormatter
class CalendarViewHolder internal constructor(
binding: ItemCalendarListBinding,
diff --git a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewModel.kt
similarity index 89%
rename from app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewModel.kt
index cf00070c..6d6b910a 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/calendar/CalendarViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/calendar/CalendarViewModel.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.calendar
+package com.eatssu.android.presentation.main.calendar
import android.util.Log
import androidx.lifecycle.LiveData
diff --git a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuAdapter.kt
similarity index 93%
rename from app/src/main/java/com/eatssu/android/ui/main/menu/MenuAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/menu/MenuAdapter.kt
index a7e0c34a..b7dc4cd5 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuAdapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.menu
+package com.eatssu.android.presentation.main.menu
import android.util.Log
import android.view.LayoutInflater
@@ -8,9 +8,9 @@ import androidx.fragment.app.FragmentManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.R
-import com.eatssu.android.data.model.Section
import com.eatssu.android.databinding.ItemCafeteriaSectionBinding
-import com.eatssu.android.ui.info.InfoBottomSheetFragment
+import com.eatssu.android.domain.model.Section
+import com.eatssu.android.presentation.info.InfoBottomSheetFragment
class MenuAdapter(
private val fragmentManager: FragmentManager,
diff --git a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuFragment.kt b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuFragment.kt
similarity index 97%
rename from app/src/main/java/com/eatssu/android/ui/main/menu/MenuFragment.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/menu/MenuFragment.kt
index 09686888..a970a6ac 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuFragment.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuFragment.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.menu
+package com.eatssu.android.presentation.main.menu
import android.os.Build
import android.os.Bundle
@@ -12,18 +12,18 @@ import androidx.fragment.app.activityViewModels
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
+import com.eatssu.android.data.RetrofitImpl
import com.eatssu.android.data.dto.response.mapFixedMenuResponseToMenu
import com.eatssu.android.data.dto.response.mapTodayMenuResponseToMenu
import com.eatssu.android.data.enums.MenuType
import com.eatssu.android.data.enums.Restaurant
import com.eatssu.android.data.enums.Time
-import com.eatssu.android.data.model.Section
import com.eatssu.android.data.service.MealService
import com.eatssu.android.data.service.MenuService
import com.eatssu.android.databinding.FragmentMenuBinding
-import com.eatssu.android.ui.info.InfoViewModel
-import com.eatssu.android.ui.main.calendar.CalendarViewModel
-import com.eatssu.android.util.RetrofitImpl
+import com.eatssu.android.domain.model.Section
+import com.eatssu.android.presentation.info.InfoViewModel
+import com.eatssu.android.presentation.main.calendar.CalendarViewModel
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.LocalDateTime
diff --git a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuSubAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuSubAdapter.kt
similarity index 93%
rename from app/src/main/java/com/eatssu/android/ui/main/menu/MenuSubAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/menu/MenuSubAdapter.kt
index fc58f6fd..c211f40b 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuSubAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuSubAdapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.menu
+package com.eatssu.android.presentation.main.menu
import android.content.Intent
import android.util.Log
@@ -7,9 +7,9 @@ import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.eatssu.android.data.enums.MenuType
-import com.eatssu.android.data.model.Menu
import com.eatssu.android.databinding.ItemMenuBinding
-import com.eatssu.android.ui.review.list.ReviewActivity
+import com.eatssu.android.domain.model.Menu
+import com.eatssu.android.presentation.review.list.ReviewActivity
class MenuSubAdapter(
diff --git a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModel.kt
similarity index 97%
rename from app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModel.kt
index 5429a7c8..4117396f 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModel.kt
@@ -1,18 +1,18 @@
-package com.eatssu.android.ui.main.menu
+package com.eatssu.android.presentation.main.menu
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.eatssu.android.base.BaseResponse
+import com.eatssu.android.data.dto.response.BaseResponse
import com.eatssu.android.data.dto.response.GetFixedMenuResponse
import com.eatssu.android.data.dto.response.GetMealResponse
import com.eatssu.android.data.enums.Restaurant
import com.eatssu.android.data.enums.Time
-import com.eatssu.android.data.model.MenuMini
import com.eatssu.android.data.service.MealService
import com.eatssu.android.data.service.MenuService
+import com.eatssu.android.domain.model.MenuMini
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModelFactory.kt b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModelFactory.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModelFactory.kt
rename to app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModelFactory.kt
index 81c19c8a..7e8057b3 100644
--- a/app/src/main/java/com/eatssu/android/ui/main/menu/MenuViewModelFactory.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/main/menu/MenuViewModelFactory.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.main.menu
+package com.eatssu.android.presentation.main.menu
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/DeveloperActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/DeveloperActivity.kt
similarity index 82%
rename from app/src/main/java/com/eatssu/android/ui/mypage/DeveloperActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/DeveloperActivity.kt
index 39688525..d3474c97 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/DeveloperActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/DeveloperActivity.kt
@@ -1,9 +1,9 @@
-package com.eatssu.android.ui.mypage
+package com.eatssu.android.presentation.mypage
import android.os.Bundle
import com.eatssu.android.R
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityDeveloperBinding
+import com.eatssu.android.presentation.base.BaseActivity
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/MyPageActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageActivity.kt
similarity index 95%
rename from app/src/main/java/com/eatssu/android/ui/mypage/MyPageActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/MyPageActivity.kt
index bfff4ae0..033768d0 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/MyPageActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.mypage
+package com.eatssu.android.presentation.mypage
import android.app.Activity
@@ -19,14 +19,14 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.eatssu.android.R
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityMyPageBinding
-import com.eatssu.android.ui.login.LoginActivity
-import com.eatssu.android.ui.mypage.myreview.MyReviewListActivity
-import com.eatssu.android.ui.mypage.terms.WebViewActivity
-import com.eatssu.android.ui.mypage.usernamechange.UserNameChangeActivity
-import com.eatssu.android.util.extension.showToast
-import com.eatssu.android.util.extension.startActivity
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.login.LoginActivity
+import com.eatssu.android.presentation.mypage.myreview.MyReviewListActivity
+import com.eatssu.android.presentation.mypage.terms.WebViewActivity
+import com.eatssu.android.presentation.mypage.usernamechange.UserNameChangeActivity
+import com.eatssu.android.presentation.util.showToast
+import com.eatssu.android.presentation.util.startActivity
import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/MyPageViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageViewModel.kt
similarity index 90%
rename from app/src/main/java/com/eatssu/android/ui/mypage/MyPageViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/MyPageViewModel.kt
index 4cc4cb18..10d3d009 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/MyPageViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/MyPageViewModel.kt
@@ -1,17 +1,17 @@
-package com.eatssu.android.ui.mypage
+package com.eatssu.android.presentation.mypage
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.BuildConfig
import com.eatssu.android.data.repository.PreferencesRepository
-import com.eatssu.android.data.usecase.alarm.AlarmUseCase
-import com.eatssu.android.data.usecase.alarm.GetDailyNotificationStatusUseCase
-import com.eatssu.android.data.usecase.alarm.SetDailyNotificationStatusUseCase
-import com.eatssu.android.data.usecase.auth.GetUserInfoUseCase
-import com.eatssu.android.data.usecase.auth.LogoutUseCase
-import com.eatssu.android.data.usecase.auth.SetAccessTokenUseCase
-import com.eatssu.android.data.usecase.auth.SetRefreshTokenUseCase
-import com.eatssu.android.data.usecase.auth.SignOutUseCase
+import com.eatssu.android.domain.usecase.alarm.AlarmUseCase
+import com.eatssu.android.domain.usecase.alarm.GetDailyNotificationStatusUseCase
+import com.eatssu.android.domain.usecase.alarm.SetDailyNotificationStatusUseCase
+import com.eatssu.android.domain.usecase.auth.GetUserInfoUseCase
+import com.eatssu.android.domain.usecase.auth.LogoutUseCase
+import com.eatssu.android.domain.usecase.auth.SetAccessTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SetRefreshTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SignOutUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/SignOutActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/SignOutActivity.kt
similarity index 93%
rename from app/src/main/java/com/eatssu/android/ui/mypage/SignOutActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/SignOutActivity.kt
index 883d54cd..1b271b3c 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/SignOutActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/SignOutActivity.kt
@@ -1,13 +1,13 @@
-package com.eatssu.android.ui.mypage
+package com.eatssu.android.presentation.mypage
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivitySignOutBinding
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/SignOutViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/SignOutViewModel.kt
similarity index 86%
rename from app/src/main/java/com/eatssu/android/ui/mypage/SignOutViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/SignOutViewModel.kt
index d4af75cc..f3c46719 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/SignOutViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/SignOutViewModel.kt
@@ -1,13 +1,13 @@
-package com.eatssu.android.ui.mypage
+package com.eatssu.android.presentation.mypage
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.eatssu.android.data.usecase.auth.GetUserInfoUseCase
-import com.eatssu.android.data.usecase.auth.LogoutUseCase
-import com.eatssu.android.data.usecase.auth.SetAccessTokenUseCase
-import com.eatssu.android.data.usecase.auth.SetRefreshTokenUseCase
-import com.eatssu.android.data.usecase.auth.SignOutUseCase
+import com.eatssu.android.domain.usecase.auth.GetUserInfoUseCase
+import com.eatssu.android.domain.usecase.auth.LogoutUseCase
+import com.eatssu.android.domain.usecase.auth.SetAccessTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SetRefreshTokenUseCase
+import com.eatssu.android.domain.usecase.auth.SignOutUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewAdapter.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewAdapter.kt
index e2265bb8..5649cf96 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewAdapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.mypage.myreview
+package com.eatssu.android.presentation.mypage.myreview
import android.content.Intent
import android.view.LayoutInflater
@@ -8,10 +8,10 @@ import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
-import com.eatssu.android.data.model.Review
+import com.eatssu.android.data.MySharedPreferences
import com.eatssu.android.databinding.ItemReviewBinding
-import com.eatssu.android.ui.review.delete.MyReviewDialogActivity
-import com.eatssu.android.util.MySharedPreferences
+import com.eatssu.android.domain.model.Review
+import com.eatssu.android.presentation.review.delete.MyReviewDialogActivity
import timber.log.Timber
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewListActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewListActivity.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewListActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewListActivity.kt
index ff730a59..2beee9a1 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewListActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewListActivity.kt
@@ -1,13 +1,13 @@
-package com.eatssu.android.ui.mypage.myreview
+package com.eatssu.android.presentation.mypage.myreview
import android.os.Bundle
import android.view.View
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
-import com.eatssu.android.base.BaseActivity
-import com.eatssu.android.data.model.Review
import com.eatssu.android.databinding.ActivityMyReviewListBinding
+import com.eatssu.android.domain.model.Review
+import com.eatssu.android.presentation.base.BaseActivity
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewViewModel.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewViewModel.kt
index 2ca041e4..b65be4bf 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/myreview/MyReviewViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/myreview/MyReviewViewModel.kt
@@ -1,10 +1,10 @@
-package com.eatssu.android.ui.mypage.myreview
+package com.eatssu.android.presentation.mypage.myreview
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.dto.response.toReviewList
-import com.eatssu.android.data.model.Review
-import com.eatssu.android.data.usecase.auth.GetMyReviewsUseCase
+import com.eatssu.android.domain.model.Review
+import com.eatssu.android.domain.usecase.auth.GetMyReviewsUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/terms/WebViewActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/terms/WebViewActivity.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/mypage/terms/WebViewActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/terms/WebViewActivity.kt
index 75cc1b0d..6459cef6 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/terms/WebViewActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/terms/WebViewActivity.kt
@@ -1,9 +1,9 @@
-package com.eatssu.android.ui.mypage.terms
+package com.eatssu.android.presentation.mypage.terms
import android.os.Bundle
import android.webkit.WebViewClient
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityWebviewBinding
+import com.eatssu.android.presentation.base.BaseActivity
import timber.log.Timber
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeActivity.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeActivity.kt
similarity index 96%
rename from app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeActivity.kt
index 2412f989..bc213e84 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.mypage.usernamechange
+package com.eatssu.android.presentation.mypage.usernamechange
import android.os.Bundle
import android.text.Editable
@@ -6,9 +6,9 @@ import android.text.TextWatcher
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
import com.eatssu.android.R
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityUserNameChangeBinding
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeViewModel.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeViewModel.kt
index 5bc8c96a..ce42d7e6 100644
--- a/app/src/main/java/com/eatssu/android/ui/mypage/usernamechange/UserNameChangeViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/mypage/usernamechange/UserNameChangeViewModel.kt
@@ -1,11 +1,11 @@
-package com.eatssu.android.ui.mypage.usernamechange
+package com.eatssu.android.presentation.mypage.usernamechange
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.eatssu.android.data.usecase.auth.GetUserNameUseCase
-import com.eatssu.android.data.usecase.auth.SetUserNameUseCase
-import com.eatssu.android.data.usecase.auth.ValidateUserNameUseCase
+import com.eatssu.android.domain.usecase.auth.GetUserNameUseCase
+import com.eatssu.android.domain.usecase.auth.SetUserNameUseCase
+import com.eatssu.android.domain.usecase.auth.ValidateUserNameUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/delete/DeleteViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/delete/DeleteViewModel.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/delete/DeleteViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/delete/DeleteViewModel.kt
index a268efd4..ef9fb66d 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/delete/DeleteViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/delete/DeleteViewModel.kt
@@ -1,10 +1,10 @@
-package com.eatssu.android.ui.review.delete
+package com.eatssu.android.presentation.review.delete
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.R
-import com.eatssu.android.data.usecase.review.DeleteReviewUseCase
+import com.eatssu.android.domain.usecase.review.DeleteReviewUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.MutableStateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/delete/MyReviewDialogActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/delete/MyReviewDialogActivity.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/delete/MyReviewDialogActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/delete/MyReviewDialogActivity.kt
index af0253e0..57313a79 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/delete/MyReviewDialogActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/delete/MyReviewDialogActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.delete
+package com.eatssu.android.presentation.review.delete
import android.content.Intent
import android.os.Bundle
@@ -9,8 +9,8 @@ import androidx.lifecycle.lifecycleScope
import com.eatssu.android.App
import com.eatssu.android.R
import com.eatssu.android.databinding.ActivityMyReviewDialogBinding
-import com.eatssu.android.ui.review.modify.ModifyReviewActivity
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.review.modify.ModifyReviewActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewActivity.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/list/ReviewActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/list/ReviewActivity.kt
index 75aadbe3..feb396e7 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.list
+package com.eatssu.android.presentation.review.list
import android.content.Intent
import android.os.Bundle
@@ -6,12 +6,12 @@ import android.view.View
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.data.enums.MenuType
import com.eatssu.android.databinding.ActivityReviewBinding
-import com.eatssu.android.ui.review.delete.DeleteViewModel
-import com.eatssu.android.ui.review.write.ReviewWriteRateActivity
-import com.eatssu.android.ui.review.write.menu.ReviewWriteMenuActivity
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.review.delete.DeleteViewModel
+import com.eatssu.android.presentation.review.write.ReviewWriteRateActivity
+import com.eatssu.android.presentation.review.write.menu.ReviewWriteMenuActivity
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewAdapter.kt
similarity index 95%
rename from app/src/main/java/com/eatssu/android/ui/review/list/ReviewAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/list/ReviewAdapter.kt
index 09548ac7..112b122b 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewAdapter.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.list
+package com.eatssu.android.presentation.review.list
import android.content.Context
import android.content.Intent
@@ -13,10 +13,10 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.eatssu.android.R
-import com.eatssu.android.data.model.Review
import com.eatssu.android.databinding.ItemReviewBinding
-import com.eatssu.android.ui.review.modify.ModifyReviewActivity
-import com.eatssu.android.ui.review.report.ReportActivity
+import com.eatssu.android.domain.model.Review
+import com.eatssu.android.presentation.review.modify.ModifyReviewActivity
+import com.eatssu.android.presentation.review.report.ReportActivity
class ReviewAdapter(
diff --git a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewViewModel.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/list/ReviewViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/list/ReviewViewModel.kt
index 577e16ff..b49b83bf 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/list/ReviewViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/list/ReviewViewModel.kt
@@ -1,16 +1,16 @@
-package com.eatssu.android.ui.review.list
+package com.eatssu.android.presentation.review.list
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.dto.response.asReviewInfo
import com.eatssu.android.data.dto.response.toReviewList
import com.eatssu.android.data.enums.MenuType
-import com.eatssu.android.data.model.Review
-import com.eatssu.android.data.model.ReviewInfo
-import com.eatssu.android.data.usecase.review.GetMealReviewInfoUseCase
-import com.eatssu.android.data.usecase.review.GetMealReviewListUseCase
-import com.eatssu.android.data.usecase.review.GetMenuReviewInfoUseCase
-import com.eatssu.android.data.usecase.review.GetMenuReviewListUseCase
+import com.eatssu.android.domain.model.Review
+import com.eatssu.android.domain.model.ReviewInfo
+import com.eatssu.android.domain.usecase.review.GetMealReviewInfoUseCase
+import com.eatssu.android.domain.usecase.review.GetMealReviewListUseCase
+import com.eatssu.android.domain.usecase.review.GetMenuReviewInfoUseCase
+import com.eatssu.android.domain.usecase.review.GetMenuReviewListUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/modify/ModifyReviewActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyReviewActivity.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/modify/ModifyReviewActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyReviewActivity.kt
index 8ea78f80..127214d8 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/modify/ModifyReviewActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyReviewActivity.kt
@@ -1,12 +1,12 @@
-package com.eatssu.android.ui.review.modify
+package com.eatssu.android.presentation.review.modify
import android.os.Bundle
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.data.dto.request.ModifyReviewRequest
import com.eatssu.android.databinding.ActivityFixMenuBinding
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/review/modify/ModifyViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyViewModel.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/modify/ModifyViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyViewModel.kt
index 24aa96a2..3861fafa 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/modify/ModifyViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/modify/ModifyViewModel.kt
@@ -1,11 +1,11 @@
-package com.eatssu.android.ui.review.modify
+package com.eatssu.android.presentation.review.modify
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.App
import com.eatssu.android.R
import com.eatssu.android.data.dto.request.ModifyReviewRequest
-import com.eatssu.android.data.usecase.review.ModifyReviewUseCase
+import com.eatssu.android.domain.usecase.review.ModifyReviewUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/report/OthersReviewDialogActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/report/OthersReviewDialogActivity.kt
similarity index 95%
rename from app/src/main/java/com/eatssu/android/ui/review/report/OthersReviewDialogActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/report/OthersReviewDialogActivity.kt
index a2dda37e..88b4609f 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/report/OthersReviewDialogActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/report/OthersReviewDialogActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.report
+package com.eatssu.android.presentation.review.report
import android.content.Intent
import android.os.Bundle
diff --git a/app/src/main/java/com/eatssu/android/ui/review/report/ReportActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/report/ReportActivity.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/report/ReportActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/report/ReportActivity.kt
index 94b278cd..27f4e30d 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/report/ReportActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/report/ReportActivity.kt
@@ -1,14 +1,14 @@
-package com.eatssu.android.ui.review.report
+package com.eatssu.android.presentation.review.report
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.data.enums.ReportType
import com.eatssu.android.databinding.ActivityReportBinding
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/review/report/ReportViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/report/ReportViewModel.kt
similarity index 89%
rename from app/src/main/java/com/eatssu/android/ui/review/report/ReportViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/report/ReportViewModel.kt
index 36dede17..1e98e91e 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/report/ReportViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/report/ReportViewModel.kt
@@ -1,11 +1,11 @@
-package com.eatssu.android.ui.review.report
+package com.eatssu.android.presentation.review.report
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.dto.request.ReportRequest
-import com.eatssu.android.data.usecase.review.PostReportUseCase
-import com.eatssu.android.ui.mypage.usernamechange.UserNameChangeViewModel.Companion.TAG
+import com.eatssu.android.domain.usecase.review.PostReportUseCase
+import com.eatssu.android.presentation.mypage.usernamechange.UserNameChangeViewModel.Companion.TAG
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/ImageViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/ImageViewModel.kt
similarity index 96%
rename from app/src/main/java/com/eatssu/android/ui/review/write/ImageViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/ImageViewModel.kt
index ef3dd8c7..c485934c 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/ImageViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/ImageViewModel.kt
@@ -1,8 +1,8 @@
-package com.eatssu.android.ui.review.write
+package com.eatssu.android.presentation.review.write
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.eatssu.android.data.usecase.review.GetImageUrlUseCase
+import com.eatssu.android.domain.usecase.review.GetImageUrlUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteRateActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteRateActivity.kt
similarity index 98%
rename from app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteRateActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteRateActivity.kt
index 229fe0d4..e310528f 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteRateActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteRateActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.write
+package com.eatssu.android.presentation.review.write
import android.Manifest
import android.content.Intent
@@ -18,9 +18,9 @@ import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityReviewWriteRateBinding
-import com.eatssu.android.util.extension.showToast
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.util.showToast
import dagger.hilt.android.AndroidEntryPoint
import id.zelory.compressor.Compressor
import kotlinx.coroutines.flow.collectLatest
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteViewModel.kt
similarity index 95%
rename from app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteViewModel.kt
index c6825fe4..0438797e 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/ReviewWriteViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/ReviewWriteViewModel.kt
@@ -1,9 +1,9 @@
-package com.eatssu.android.ui.review.write
+package com.eatssu.android.presentation.review.write
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.dto.request.WriteReviewRequest
-import com.eatssu.android.data.usecase.review.WriteReviewUseCase
+import com.eatssu.android.domain.usecase.review.WriteReviewUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/menu/ReviewWriteMenuActivity.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/ReviewWriteMenuActivity.kt
similarity index 93%
rename from app/src/main/java/com/eatssu/android/ui/review/write/menu/ReviewWriteMenuActivity.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/menu/ReviewWriteMenuActivity.kt
index fc268602..b6e305da 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/menu/ReviewWriteMenuActivity.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/ReviewWriteMenuActivity.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.ui.review.write.menu
+package com.eatssu.android.presentation.review.write.menu
import android.content.Intent
import android.os.Build
@@ -7,9 +7,9 @@ import androidx.activity.viewModels
import androidx.annotation.RequiresApi
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
-import com.eatssu.android.base.BaseActivity
import com.eatssu.android.databinding.ActivityReviewWriteMenuBinding
-import com.eatssu.android.ui.review.write.ReviewWriteRateActivity
+import com.eatssu.android.presentation.base.BaseActivity
+import com.eatssu.android.presentation.review.write.ReviewWriteRateActivity
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuPickAdapter.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuPickAdapter.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuPickAdapter.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuPickAdapter.kt
index 833356be..e10b2b30 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuPickAdapter.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuPickAdapter.kt
@@ -1,10 +1,10 @@
-package com.eatssu.android.ui.review.write.menu
+package com.eatssu.android.presentation.review.write.menu
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.eatssu.android.data.model.MenuMini
import com.eatssu.android.databinding.ItemMenuPickBinding
+import com.eatssu.android.domain.model.MenuMini
class VariableMenuPickAdapter(private val menuList: List?) :
RecyclerView.Adapter() {
diff --git a/app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuViewModel.kt b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuViewModel.kt
similarity index 92%
rename from app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuViewModel.kt
rename to app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuViewModel.kt
index ab623501..516cdb10 100644
--- a/app/src/main/java/com/eatssu/android/ui/review/write/menu/VariableMenuViewModel.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/review/write/menu/VariableMenuViewModel.kt
@@ -1,11 +1,11 @@
-package com.eatssu.android.ui.review.write.menu
+package com.eatssu.android.presentation.review.write.menu
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.dto.response.toMenuMiniList
-import com.eatssu.android.data.model.MenuMini
-import com.eatssu.android.data.usecase.menu.GetMenuNameListOfMealUseCase
+import com.eatssu.android.domain.model.MenuMini
+import com.eatssu.android.domain.usecase.menu.GetMenuNameListOfMealUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
diff --git a/app/src/main/java/com/eatssu/android/util/extension/ActivityExt.kt b/app/src/main/java/com/eatssu/android/presentation/util/ActivityUtil.kt
similarity index 85%
rename from app/src/main/java/com/eatssu/android/util/extension/ActivityExt.kt
rename to app/src/main/java/com/eatssu/android/presentation/util/ActivityUtil.kt
index 726874d2..b40d27a4 100644
--- a/app/src/main/java/com/eatssu/android/util/extension/ActivityExt.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/util/ActivityUtil.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.util.extension
+package com.eatssu.android.presentation.util
import android.app.Activity
import android.content.Intent
diff --git a/app/src/main/java/com/eatssu/android/util/CalendarUtils.kt b/app/src/main/java/com/eatssu/android/presentation/util/CalendarUtil.kt
similarity index 94%
rename from app/src/main/java/com/eatssu/android/util/CalendarUtils.kt
rename to app/src/main/java/com/eatssu/android/presentation/util/CalendarUtil.kt
index 7471b593..b1215ba6 100644
--- a/app/src/main/java/com/eatssu/android/util/CalendarUtils.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/util/CalendarUtil.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.util
+package com.eatssu.android.presentation.util
import android.os.Build
import androidx.annotation.RequiresApi
@@ -7,7 +7,7 @@ import java.time.LocalDate
import java.time.format.DateTimeFormatter
-object CalendarUtils {
+object CalendarUtil {
lateinit var selectedDate: LocalDate
@RequiresApi(Build.VERSION_CODES.O)
diff --git a/app/src/main/java/com/eatssu/android/util/extension/ContextExt.kt b/app/src/main/java/com/eatssu/android/presentation/util/ContextUtil.kt
similarity index 85%
rename from app/src/main/java/com/eatssu/android/util/extension/ContextExt.kt
rename to app/src/main/java/com/eatssu/android/presentation/util/ContextUtil.kt
index 18ca672d..60ec7845 100644
--- a/app/src/main/java/com/eatssu/android/util/extension/ContextExt.kt
+++ b/app/src/main/java/com/eatssu/android/presentation/util/ContextUtil.kt
@@ -1,4 +1,4 @@
-package com.eatssu.android.util.extension
+package com.eatssu.android.presentation.util
import android.content.Context
import android.widget.Toast
diff --git a/app/src/main/res/layout/activity_developer.xml b/app/src/main/res/layout/activity_developer.xml
index 06a7e6eb..362d871a 100644
--- a/app/src/main/res/layout/activity_developer.xml
+++ b/app/src/main/res/layout/activity_developer.xml
@@ -5,7 +5,7 @@
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.mypage.DeveloperActivity">
+ tools:context=".presentation.mypage.DeveloperActivity">
+ tools:context=".presentation.review.modify.ModifyReviewActivity">
+ tools:context=".presentation.info.InfoActivity">
+ tools:context=".presentation.login.IntroActivity">
+ tools:context=".presentation.login.LoginActivity">
+ tools:context=".presentation.main.MainActivity">
+ tools:context=".presentation.mypage.MyPageActivity">
+ tools:context=".presentation.review.delete.MyReviewDialogActivity">
+ tools:context=".presentation.review.list.ReviewActivity">
+ tools:context=".presentation.review.report.OthersReviewDialogActivity">
+ tools:context=".presentation.review.report.ReportActivity">
+ type="com.eatssu.android.presentation.review.list.ReviewViewModel" />
+ tools:context=".presentation.review.list.ReviewActivity">
+ tools:context=".presentation.review.write.menu.ReviewWriteMenuActivity">
+ type="com.eatssu.android.presentation.review.write.UploadReviewViewModel" />
+ tools:context=".presentation.review.write.ReviewWriteRateActivity">
+ tools:context=".presentation.mypage.SignOutActivity">
+ tools:context=".presentation.mypage.usernamechange.UserNameChangeActivity">
+ tools:context=".presentation.mypage.terms.WebViewActivity">