diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 92045ed8..1f58bdfc 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -13,12 +13,6 @@ - - - - \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7d588459..0703774b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,6 +2,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) id("com.google.dagger.hilt.android") // Hilt 플러그인 추가 kotlin("kapt") // Hilt를 위한 kapt 추가 } @@ -70,6 +71,8 @@ dependencies { kapt(libs.hilt.compiler) implementation(libs.androidx.hilt.navigation.compose) + implementation(libs.kotlinx.serialization.json) + // Retrofit implementation(libs.retrofit) implementation(libs.converter.gson) diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt b/app/src/main/java/com/kuit/ourmenu/di/NetworkModule.kt similarity index 87% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt rename to app/src/main/java/com/kuit/ourmenu/di/NetworkModule.kt index fce0a2f0..a5de9240 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt +++ b/app/src/main/java/com/kuit/ourmenu/di/NetworkModule.kt @@ -1,4 +1,4 @@ -package com.kuit.ourmenu.ui.dummy.di +package com.kuit.ourmenu.di import com.google.gson.Gson import dagger.Module @@ -20,7 +20,7 @@ object NetworkModule { fun providesRetrofit( ): Retrofit = Retrofit.Builder() - .baseUrl("") + .baseUrl("https://ourmenu-dev.shop/") .addConverterFactory(GsonConverterFactory.create(Gson())) .build() diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt b/app/src/main/java/com/kuit/ourmenu/di/ServiceModule.kt similarity index 81% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt rename to app/src/main/java/com/kuit/ourmenu/di/ServiceModule.kt index 7bafcbb8..a5b39a5a 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt +++ b/app/src/main/java/com/kuit/ourmenu/di/ServiceModule.kt @@ -1,6 +1,6 @@ -package com.kuit.ourmenu.ui.dummy.di +package com.kuit.ourmenu.di -import com.kuit.ourmenu.ui.dummy.service.DummyService +import com.kuit.ourmenu.dummy.service.DummyService import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt b/app/src/main/java/com/kuit/ourmenu/dummy/data/DummyData.kt similarity index 74% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt rename to app/src/main/java/com/kuit/ourmenu/dummy/data/DummyData.kt index a58e7a28..8a9074f4 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt +++ b/app/src/main/java/com/kuit/ourmenu/dummy/data/DummyData.kt @@ -1,4 +1,4 @@ -package com.kuit.ourmenu.ui.dummy.data +package com.kuit.ourmenu.dummy.data data class DummyData( val name: String = "", diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt b/app/src/main/java/com/kuit/ourmenu/dummy/data/DummyResponse.kt similarity index 85% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt rename to app/src/main/java/com/kuit/ourmenu/dummy/data/DummyResponse.kt index 0af9c835..c4f1b1d8 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt +++ b/app/src/main/java/com/kuit/ourmenu/dummy/data/DummyResponse.kt @@ -1,4 +1,4 @@ -package com.kuit.ourmenu.ui.dummy.data +package com.kuit.ourmenu.dummy.data data class DummyResponse( val name: String = "", diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt b/app/src/main/java/com/kuit/ourmenu/dummy/repository/DummyRepository.kt similarity index 75% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt rename to app/src/main/java/com/kuit/ourmenu/dummy/repository/DummyRepository.kt index 5d5cfcc5..aa74a355 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt +++ b/app/src/main/java/com/kuit/ourmenu/dummy/repository/DummyRepository.kt @@ -1,9 +1,9 @@ -package com.kuit.ourmenu.ui.dummy.repository +package com.kuit.ourmenu.dummy.repository import android.util.Log -import com.kuit.ourmenu.ui.dummy.data.DummyData -import com.kuit.ourmenu.ui.dummy.data.toDummyData -import com.kuit.ourmenu.ui.dummy.service.DummyService +import com.kuit.ourmenu.dummy.data.DummyData +import com.kuit.ourmenu.dummy.data.toDummyData +import com.kuit.ourmenu.dummy.service.DummyService import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow diff --git a/app/src/main/java/com/kuit/ourmenu/dummy/service/DummyService.kt b/app/src/main/java/com/kuit/ourmenu/dummy/service/DummyService.kt new file mode 100644 index 00000000..504cf112 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/dummy/service/DummyService.kt @@ -0,0 +1,9 @@ +package com.kuit.ourmenu.dummy.service + +import com.kuit.ourmenu.dummy.data.DummyResponse +import retrofit2.http.GET + +interface DummyService { + @GET("") + suspend fun getDummyData(): DummyResponse +} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt b/app/src/main/java/com/kuit/ourmenu/dummy/viewmodel/DummyViewModel.kt similarity index 87% rename from app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt rename to app/src/main/java/com/kuit/ourmenu/dummy/viewmodel/DummyViewModel.kt index 8f4f0cba..f3278581 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt +++ b/app/src/main/java/com/kuit/ourmenu/dummy/viewmodel/DummyViewModel.kt @@ -1,9 +1,9 @@ -package com.kuit.ourmenu.ui.dummy.viewmodel +package com.kuit.ourmenu.dummy.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.kuit.ourmenu.ui.dummy.data.DummyData -import com.kuit.ourmenu.ui.dummy.repository.DummyRepository +import com.kuit.ourmenu.dummy.data.DummyData +import com.kuit.ourmenu.dummy.repository.DummyRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt deleted file mode 100644 index a413384f..00000000 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.kuit.ourmenu.ui.dummy.di - -import com.kuit.ourmenu.ui.dummy.repository.DummyRepository -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -abstract class RepositoryModule { - - @Binds - @Singleton - abstract fun bindDummyRepository(dummyRepository: DummyRepository): DummyRepository -} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt deleted file mode 100644 index 32bb80be..00000000 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.kuit.ourmenu.ui.dummy.service - -import com.kuit.ourmenu.ui.dummy.data.DummyResponse - -interface DummyService { -// @GET("") - suspend fun getDummyData(): DummyResponse -} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/navigator/Routes.kt b/app/src/main/java/com/kuit/ourmenu/ui/navigator/Routes.kt index 556869a5..6b43940f 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/navigator/Routes.kt +++ b/app/src/main/java/com/kuit/ourmenu/ui/navigator/Routes.kt @@ -1,7 +1,11 @@ package com.kuit.ourmenu.ui.navigator +import kotlinx.serialization.Serializable + + sealed interface Routes{ // Home + @Serializable data object Home: Routes // 지도 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 46e2a512..db0a1d1d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,6 +8,7 @@ coreKtx = "1.10.1" junit = "4.13.2" junitVersion = "1.1.5" espressoCore = "3.5.1" +kotlinxSerializationJson = "1.6.0" lifecycleRuntimeKtx = "2.6.1" activityCompose = "1.8.0" composeBom = "2024.04.01" @@ -39,6 +40,7 @@ androidx-material3 = { group = "androidx.compose.material3", name = "material3" androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "lifecycleViewmodel" } androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleViewmodelCompose" } androidx-lifecycle-runtime-compose-android = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose-android", version.ref = "lifecycleRuntimeComposeAndroid" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" } @@ -46,4 +48,5 @@ androidx-navigation-compose = { group = "androidx.navigation", name = "navigatio android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "hiltAndroid" }