Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f4bd404
[Add] model 모듈 추가
BeomBeom2 Jan 17, 2026
30f3b2f
[Add] Tier Data, Domain 모듈 추가
BeomBeom2 Jan 18, 2026
e80014f
[Add] API URL 주입 코드 추가
BeomBeom2 Jan 19, 2026
d8fd22c
[Add] 티어 탭에 사용할 도메인 규칙 및 라벨 매핑 추가
BeomBeom2 Jan 20, 2026
b924a44
[Chore] 티어 탭에 사용할 이미지 리소스 추가
BeomBeom2 Jan 21, 2026
3049f91
[Add] 티어란 팝업 화면 추가
BeomBeom2 Jan 22, 2026
5c070ad
[Add] 카테고리 선택 화면 추가
BeomBeom2 Jan 23, 2026
b76ff2a
[MERGE] #7 -> develop
BeomBeom2 Jan 25, 2026
496ed5d
[Add] 티어 탭 비지니스 규칙 코드 추가
BeomBeom2 Jan 27, 2026
60d2b43
[Add] config 모듈 추가
BeomBeom2 Jan 28, 2026
087fa00
[Add] 네이버 맵 SDK 사용을 위해 lib 및 sdk 초기화 코드 추가
BeomBeom2 Jan 28, 2026
f714815
[Chore] 안드로이드 타겟 sdk, min sdk을 libs.versions.toml 에서 관리하도록 코드 수정
BeomBeom2 Jan 28, 2026
c11ef35
[Add] 티어 모듈 비지니스 코드 추가
BeomBeom2 Jan 29, 2026
8b9cae7
[Add] 티어 스크린 화면 코드 추가(티어 리스트, 맵 제외)
Jan 30, 2026
65a87ef
[Add] 아이콘 관련 파일 삭제 및 추가
Jan 31, 2026
65d4e80
[Fix] 티어 카테고리 필터 위치 수정
Jan 31, 2026
466f340
[Add] 안드로이드 맵 스크린 화면 추가
Jan 31, 2026
76d1602
[Add] 티어 탭 맵 화면에서 음식점 클릭 시 나오는 바텀시트 추가
Jan 31, 2026
6e8c067
[Fix] 티어 화면 수정(필터 색상 및 컴포넌트)
Feb 1, 2026
8f8b96e
[Refactor] 티어 카테고리 설정 화면 리팩토링
Feb 1, 2026
67389cb
[Fix] 카멜 이미지 lib 수정 및 썸네일 컴포넌트 ui 수정
Feb 1, 2026
beacec4
[Chore] gitignore 수정
Feb 1, 2026
2ac5f22
[Chore] 디자인 테마 적용
Feb 1, 2026
a105dff
[Chore] 네트워크 관련 파라미터 추가
Feb 1, 2026
1ab83e0
[Add] 티어 모듈 IOS 에셋 파일 추가
Feb 3, 2026
72cba8b
[Feat] serialization 모듈 추가 및 encode/decode 기능 추가
Feb 3, 2026
933c876
[Chore] 그래들 파일에서 라이브러리 추가 및 버전 수정
Feb 3, 2026
c76980c
[Feat] 네이버 맵 IOS/Android 각 기능 구현
Feb 3, 2026
f535d7a
[Chore] 그래들 프로퍼티, IOS Info 추가
Feb 3, 2026
5200e59
[Chore] 티어 IOS 관련 파일 추가
Feb 3, 2026
c5081c4
[Chore] 티어 IOS 관련 파일 추가
Feb 3, 2026
c0d980c
[Refactor] UI 컴포넌트 일부 수정, 변수명 수정
Feb 3, 2026
e55aea9
[Add] Map 인스턴스 플랫폼 별로 구현
Feb 3, 2026
d95582c
[Fix] 기존에 있던 테마 제거
Feb 3, 2026
7fece75
[Chore] 기존에 있던 KusColor 파일 삭제
Feb 3, 2026
e73d566
[Chore] 아이폰 시스템 영역 배경 흰색으로 변경
Feb 7, 2026
2646c7c
[Chore] PR 템플릿 수정
BeomBeom2 Feb 8, 2026
da177bd
Merge branch 'feat/#10-tier-tab' of https://github.com/kustaurant/And…
BeomBeom2 Feb 8, 2026
b3fb170
[Chore] 아이콘 티어 이미지 수정
Feb 9, 2026
5905570
[Chore] gitignore 수정
Feb 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 30 additions & 8 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,33 @@
## PR 유형
해당하는 항목에 체크해주세요.

- [ ] Add (신규 기능 / 화면 / 컴포넌트 추가)
- [ ] Feat (기존 기능 개선 / 동작 변경)
- [ ] Fix (버그 수정)
- [ ] Refactor (기능 변경 없는 코드 정리)
- [ ] Docs / Comment (문서, 주석)
- [ ] Test (테스트 추가 또는 리팩토링)
- [ ] Build / Config (빌드, 의존성, 설정)
- [ ] File (파일 / 폴더 구조 변경)
- [ ] Add — 리소스/코드/컴포넌트 추가 (기능 변화 없음)
- [ ] Feat — 사용자에게 보이는 새로운 기능 추가
- [ ] Fix — 버그 수정
- [ ] Refactor — 기능 변경 없는 코드 구조 개선
- [ ] Docs / Comment — 문서, 주석 수정
- [ ] Test — 테스트 추가 또는 리팩토링
- [ ] Build / Config — 빌드, 의존성, 설정 변경
- [ ] File — 파일 / 폴더 구조 변경

<br/>

## 변경 사항
<!-- 어떤 변경을 했는지 간단히 작성해주세요 -->

-
-
-

<br/>

## 📸 화면 / 영상 (선택)
<!-- 변경된 UI나 동작을 보여주세요 -->

### Before
<!-- 이전 화면 -->

### After
<!-- 변경된 화면 -->

<br/>
20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,23 @@ captures
!*.xcworkspace/contents.xcworkspacedata
**/xcshareddata/WorkspaceSettings.xcsettings
node_modules/
.xcconfig

# CocoaPods
Pods/
**/Pods/
pods-iosapp-frameworks/

# Xcode
DerivedData/
*.xcworkspace/xcuserdata/
*.xcodeproj/xcuserdata/
*.xcuserstate
*.car

secrets/

# Build
build/


1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ plugins {
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.android.test) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.buildkonfig) apply false
}
7 changes: 7 additions & 0 deletions composeApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeHotReload)
alias(libs.plugins.kotlin.serialization)
}

kotlin {
Expand All @@ -33,6 +34,7 @@ kotlin {
implementation(compose.preview)
implementation(libs.androidx.activity.compose)
implementation(libs.koin.android)
implementation(libs.naver.maps)

implementation(libs.google.material)
implementation(libs.androidx.core.splashscreen)
Expand All @@ -47,12 +49,16 @@ kotlin {
implementation(libs.androidx.lifecycle.viewmodelCompose)
implementation(libs.androidx.lifecycle.runtimeCompose)
implementation(libs.navigation.compose)
implementation(libs.kotlinx.serialization.json)

implementation(project(":shared:core:designSystem"))
implementation(project(":shared:core:config"))
implementation(project(":shared:core:logging"))
implementation(project(":shared:core:serialization"))

implementation(project(":shared:data:network"))
implementation(project(":shared:data:firstLaunch"))
implementation(project(":shared:data:tier"))

implementation(project(":shared:feature:community"))
implementation(project(":shared:feature:draw"))
Expand All @@ -64,6 +70,7 @@ kotlin {
implementation(project(":shared:feature:my"))

implementation(project(":shared:domain:firstLaunch"))
implementation(project(":shared:domain:tier"))
}
commonTest.dependencies {
implementation(libs.kotlin.test)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package com.kus.kustaurant

import android.app.Application
import com.kus.core.config.BuildKonfig
import com.kus.data.firstLaunch.di.androidFirstLaunchModule
import com.kus.kustaurant.di.initKoin
import com.kus.logging.initLogger
import com.naver.maps.map.NaverMapSdk
import org.koin.android.ext.koin.androidContext

class KusApplication : Application() {
override fun onCreate() {
super.onCreate()
initLogger()
NaverMapSdk.getInstance(this).client =
NaverMapSdk.NaverCloudPlatformClient(BuildKonfig.NAVER_MAP_CLIENT_ID)

initKoin(
config = { androidContext(this@KusApplication) },
Expand Down

This file was deleted.

9 changes: 2 additions & 7 deletions composeApp/src/commonMain/kotlin/com/kus/kustaurant/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import androidx.navigation.NavHostController
import androidx.navigation.NavOptionsBuilder
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.kus.designsystem.theme.KusTheme
import com.kus.feature.community.navigation.Community
import com.kus.feature.draw.navigation.Draw
import com.kus.feature.home.navigation.Home
Expand All @@ -25,7 +26,6 @@ import com.kus.feature.tier.navigation.Tier
import com.kus.kustaurant.navigation.BottomTab
import com.kus.kustaurant.navigation.KusBottomBar
import com.kus.kustaurant.navigation.KusNavHost
import com.kus.kustaurant.theme.KusTheme
import kotlinx.coroutines.launch
import org.jetbrains.compose.ui.tooling.preview.Preview

Expand Down Expand Up @@ -78,12 +78,7 @@ fun SetNavigation() {
},
modifier = Modifier.systemBarsPadding(),
) { padding ->
KusNavHost(
navController = navController,
durationMillis = durationMillis,
onShowMessage = onShowMessage,
modifier = Modifier.padding(padding),
)
KusNavHost(navController, durationMillis, onShowMessage, Modifier.padding(padding))
}
}

Expand Down
16 changes: 12 additions & 4 deletions composeApp/src/commonMain/kotlin/com/kus/kustaurant/di/initKoin.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
package com.kus.kustaurant.di

import com.kus.data.firstLaunch.di.firstLaunchDataModule
import com.kus.data.network.di.networkModule
import com.kus.domain.firstLaunch.di.firstLaunchDomainModule
import com.kus.feature.onboarding.di.onboardingModule
import com.kus.feature.splash.di.splashModule
import com.kus.feature.onboarding.di.onboardingFeatureModule
import com.kus.feature.splash.di.splashFeatureModule
import com.kus.feature.tier.di.tierFeatureModule
import com.kus.shared.data.tier.di.tierDataModule
import com.kus.shared.domain.tier.di.tierDomainModule
import org.koin.core.context.startKoin
import org.koin.core.module.Module
import org.koin.dsl.KoinAppDeclaration
Expand All @@ -18,13 +22,17 @@ fun initKoin(
modules(
// domain
firstLaunchDomainModule,
tierDomainModule,

// data (repository 등 공통)
firstLaunchDataModule,
networkModule,
tierDataModule,

// feature
splashModule,
onboardingModule,
splashFeatureModule,
onboardingFeatureModule,
tierFeatureModule,
)

modules(additionalModules)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ import androidx.compose.animation.fadeOut
import androidx.compose.animation.scaleIn
import androidx.compose.animation.scaleOut
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.currentBackStackEntryAsState
import com.kus.core.serialization.KusJson
import com.kus.feature.community.navigation.communityNavGraph
import com.kus.feature.draw.navigation.drawNavGraph
import com.kus.feature.home.navigation.Home
Expand All @@ -23,8 +21,9 @@ import com.kus.feature.onboarding.navigatioin.Onboarding
import com.kus.feature.onboarding.navigatioin.onboardingNavGraph
import com.kus.feature.splash.navigation.Splash
import com.kus.feature.splash.navigation.splashNavGraph
import com.kus.feature.tier.navigation.TierCategorySelect
import com.kus.feature.tier.navigation.tierNavGraph
import com.kus.logging.KusLog
import com.kus.feature.tier.ui.TierFilterState

@Composable
fun KusNavHost(
Expand Down Expand Up @@ -106,7 +105,34 @@ fun KusNavHost(
)

drawNavGraph(onShowMessage = onShowMessage)
tierNavGraph(onShowMessage = onShowMessage)
tierNavGraph(
initialProvider = {
val json = navController.previousBackStackEntry
?.savedStateHandle
?.get<String>("tier_initial_json")

if (json == null) TierFilterState()
else KusJson.json.decodeFromString<TierFilterState>(json)
},
navigateToTierCategorySelect = { initial ->
val json = KusJson.json.encodeToString(initial)
navController.currentBackStackEntry
?.savedStateHandle
?.set("tier_initial_json", json)

navController.navigate(TierCategorySelect)
},
popBackStackWithResult = { result ->
val json = KusJson.json.encodeToString(result)
navController.previousBackStackEntry
?.savedStateHandle
?.set("tier_result_json", json)

navController.popBackStack()
},
onBackButtonClick = { navController.popBackStack()}
)

communityNavGraph(onShowMessage = onShowMessage)
myNavGraph(onShowMessage = onShowMessage)
}
Expand Down
41 changes: 0 additions & 41 deletions composeApp/src/commonMain/kotlin/com/kus/kustaurant/theme/Theme.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ package com.kus.kustaurant.navigation

import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import kustaurant.feature.community.generated.resources.ic_community
import kustaurant.feature.draw.generated.resources.ic_draw
import kustaurant.feature.home.generated.resources.ic_home
import kustaurant.feature.my.generated.resources.ic_my
import kustaurant.feature.tier.generated.resources.ic_tier
import kustaurant.shared.feature.community.generated.resources.ic_community
import kustaurant.shared.feature.draw.generated.resources.ic_draw
import kustaurant.shared.feature.home.generated.resources.ic_home
import kustaurant.shared.feature.my.generated.resources.ic_my
import kustaurant.shared.feature.tier.generated.resources.ic_tier
import org.jetbrains.compose.resources.painterResource
import kustaurant.feature.home.generated.resources.Res as HomeRes
import kustaurant.feature.draw.generated.resources.Res as DrawRes
import kustaurant.feature.tier.generated.resources.Res as TierRes
import kustaurant.feature.community.generated.resources.Res as CommunityRes
import kustaurant.feature.my.generated.resources.Res as MyRes
import kustaurant.shared.feature.home.generated.resources.Res as HomeRes
import kustaurant.shared.feature.draw.generated.resources.Res as DrawRes
import kustaurant.shared.feature.tier.generated.resources.Res as TierRes
import kustaurant.shared.feature.community.generated.resources.Res as CommunityRes
import kustaurant.shared.feature.my.generated.resources.Res as MyRes

@Composable
actual fun homeTabPainter(): Painter = painterResource(HomeRes.drawable.ic_home)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,16 +1,30 @@
package com.kus.kustaurant

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.window.ComposeUIViewController
import com.kus.data.firstLaunch.di.iosFirstLaunchModule
import com.kus.kustaurant.di.initKoin
import com.kus.logging.initLogger


fun MainViewController() = ComposeUIViewController {
initLogger()

initKoin(
additionalModules = listOf(iosFirstLaunchModule)
)
App()
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.White)
.windowInsetsPadding(WindowInsets.safeDrawing)
) {
App()
}
}
Loading