diff --git a/.github/workflows/android_cd.yml b/.github/workflows/android_cd.yml
index 02df1b7f0..69e23514b 100644
--- a/.github/workflows/android_cd.yml
+++ b/.github/workflows/android_cd.yml
@@ -63,9 +63,11 @@ jobs:
env:
DEFAULTS_ORG: ${{ secrets.DEFAULTS_ORG }}
DEFAULTS_PROJECT: ${{ secrets.DEFAULTS_PROJECT }}
+ AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
run: |
echo "defaults.org=$DEFAULTS_ORG" >> sentry.properties
echo "defaults.project=$DEFAULTS_PROJECT" >> sentry.properties
+ echo "auth.token=$AUTH_TOKEN" >> sentry.properties
- name: Build Release APK
run: |
diff --git a/README.md b/README.md
index 899c0a211..a151be0b9 100644
--- a/README.md
+++ b/README.md
@@ -1,53 +1,51 @@
# 쉽고 빠른 데이트로 가는 지름길, 데이트로드 👩🏻❤️👨🏻
-![50](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b)
-데이트로드는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 공유 서비스로 사용자가 직접 데이트 코스를 등록하고 공유합니다.
+커플들이 직접 공유하는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 코스 공유 서비스 데이트로드입니다.
+
-
-## 💟 Contributors
-
-| [🐸배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) |
-|:-------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|
-|
|
|
|
-| `포인트내역`
`내가열람한코스+내가등록한코스`
`코스둘러보기`
`코스등록하기+일정등록하기`
`코스수정하기` | `온보딩/회원가입`
`스플래시`
`프로필등록하기`
`코스상세`
`마이페이지`
`웹뷰`
`관리자아카이빙` | `메인페이지`
`다가올 데이트일정`
`지난데이트일정`
`다가올데이트 상세페이지`
`지난데이트 상세페이지`
-
+![DateRoad](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b)
---
-## 📷 **시연영상**
-| ![온보딩/회원가입](https://github.com/user-attachments/assets/6d6c4558-06a1-408a-b862-fcbd25662d01) | ![메인스크린](https://github.com/user-attachments/assets/be098dcc-5540-4c91-be27-3280362cf07f) | ![일정등록하기+코스등록하기](https://github.com/user-attachments/assets/1007d61d-8f91-4dd0-b544-4c3e00bb4af4) |
-|:------------------------:|:--------------------------:|:----------------------:|
-| `온보딩/회원가입` | `메인스크린` | `코스상세+일정등록하기` |
-
-| ![데이트 일정](https://github.com/user-attachments/assets/59469c43-75af-419c-a2b7-e7a08bfabaf2) | ![마이페이지](https://github.com/user-attachments/assets/4281f19e-5cba-486e-be17-14977b56d557) |
-|:------------------------:|:--------------------------:|
-| `데이트 일정` | `마이페이지` |
-
-
-
-## 👋 커밋 컨벤션
-[Git Convention & Branch Strategy](https://www.notion.so/hooooooni/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8)
-
-## 👋 코드 컨벤션
-[Android Coding Convention](https://www.notion.so/hooooooni/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d)
-
-
-## 👋 브랜치전략
-**브랜치 유형**
-- **main** : 완성된 버전의 코드를 저장하는 브랜치
-- **develop** : 개발이 진행되는 동안 완성된 코드를 저장하는 브랜치
-- **feature** : 작은 단위의 작업이 진행되는 브랜치
-- **hotfix** : 긴급한 오류를 해결하는 브랜치
-
-- 해당 작업을 위한 브랜치를 파서 작업합니다.
-- 작업 완료 후 PR을 날리고 팀원들에게 크로스체크 후 머지합니다.
-
-예시)
-
-- dev/feat-main-view
-- dev/add-font-res
+## 💟 *****Contributors*****
+| [🐸 배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) |
+|:-------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|
+|
|
|
|
+| `포인트내역`
`열람한 코스`
`코스둘러보기`
`코스등록하기+일정등록하기`
`마이페이지`
`지난 데이트` | `스플래시`
`로그인/온보딩`
`프로필 등록하기`
`코스상세 + 관리자 아카이빙`
`포인트 제도 소개`
`프로필 수정하기` | `홈`
`데이트 일정`
`데이트 일정 상세`
`내가 등록한 코스`
`내가 열람한 코스`
`카카오톡 공유하기`
+
+## 📷 *****ScreenShot*****
+|
|
|
|
+|:-------------------------:|:-------------------------:|:-------------------------:|
+| `로그인/온보딩` | `프로필 등록하기` | `홈` |
+|
|
|
+| `코스 둘러보기` | `데이트 일정` | `지난 데이트` |
+|
|
|
+| `코스 등록하기` | `일정 등록하기` | `열람한 코스` |
+|
|
|
+| `마이페이지` | `프로필 수정` | `포인트 내역` |
+|
|
|
+| `데이트 일정 상세 - 무료 열람 기회` | `데이트 일정 상세 - 포인트 사용` | `데이트 일정 상세 - 내가 쓴 글` |
+
+## 👩🏻💻 ***𝙏𝙚𝙘𝙝 𝙎𝙩𝙖𝙘𝙠***
+
+| Title | Content |
+|-------------------------|-------------------------------------------------------------------------------|
+| Architecture | Clean Architecture, MVI, Single Activity Architecture |
+| Design Pattern | Repository Pattern, Delegation Pattern |
+| UI | Jetpack Compose |
+| Jetpack Components | encryptedsharedpreferences, Lifecycle, ViewModel, Navigation |
+| Dependency Injection | Hilt |
+| Network | Retrofit, OkHttp, MultiPart |
+| Asynchronous Processing | Coroutine |
+| Third Party Library | Coil, Firebase, Timber, kotlinSerialization, sentry, Amplitude, Lottie, Kakao |
+| Strategy | Git Flow |
+| CI | GitHub Action(KtLint, Complie Check) |
+| CD | GitHub Action |
+| Other Tool | Slack, Notion, Figma, Postman, Discord |
+
+
## 📁 *****Foldering*****
```
@@ -65,7 +63,6 @@
┃ ┃ ┃ ┃ ┣ 📂 datasourceimpl
┃ ┃ ┃ ┃ ┣ 📂 interceptor
┃ ┃ ┃ ┃ ┣ 📂 model
-┃ ┃ ┃ ┃ ┃ ┣ 📂 base
┃ ┃ ┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┃ ┣ 📂 response
┃ ┃ ┃ ┃ ┣ 📂 service
@@ -86,6 +83,7 @@
┃ ┃ ┃ ┣ 📂 model
┃ ┃ ┃ ┣ 📂 type
┃ ┃ ┃ ┣ 📂 ui
+┃ ┃ ┃ ┃ ┣ 📂 advertisement
┃ ┃ ┃ ┃ ┣ 📂 component
┃ ┃ ┃ ┃ ┃ 📂 coursedetail
┃ ┃ ┃ ┃ ┣ 📂 enroll
@@ -110,16 +108,31 @@
```
+
+## ➿ *****Convention*****
-## 목차
+[ABC의 깃 컨벤션과 브랜치 전략이 궁금하다면? click ✔️](https://hooooooni.notion.site/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8?pvs=4)
+
----
+[ABC의 코드 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d?pvs=4)
+
+
+[ABC의 ISSUE, PR 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/ISSUE-PR-Convention-c5718ebddba64678a001339cd5e148b2?pvs=4)
+
+
+[ABC의 칸반보드가 궁금하다면? click ✔️](https://hooooooni.notion.site/ROLE-e46dd81ac93e47d999c2bb4147069ce6?pvs=4)
+
-## 🩷 프로젝트 설명
+[ABC의 Github Project가 궁금하다면? click ✔️](https://github.com/orgs/TeamDATEROAD/projects/1)
+
---
+## 💡 *****About Project*****
+
+### 🩷 프로젝트 설명
+
-## 📝 문제상황 정의
-
----
-
-![6](https://github.com/user-attachments/assets/b489f192-ae95-40b0-9694-fdc121ffe192)
-
+### 📝 문제상황 정의
+![6](https://github.com/user-attachments/assets/c856fdaf-86f2-4f6d-bc20-3109eb072bdf)
- 기존 앱은 코스가 아닌 장소 중심, 이로 인해 데이트 코스를 찾기 위해 여러 앱을 쓰며 피로감을 느낌
- 광고가 아닌 직접 방문한 사람의 후기를 기반으로 데이트 코스를 짜고 싶어 하는 니즈 존재
-## 🎯 핵심 타겟
-
----
-
+### 🎯 핵심 타겟
- 센스 있게 데이트 코스를 짜고 싶은 여자/남자친구
- 색다른 데이트 코스를 찾기 위해 인스타그램 등을 탐색하는 커플
- 네이버 블로그, 인스타그램을 통해 여러 번 데이트 장소의 후기를 얻는 커플
-## 📍 주요 기능
-
----
-
-### 1️⃣ 코스 등록하기 및 열람
-
-![Instagram_post_-_4](https://github.com/user-attachments/assets/bc81ceda-fc99-4156-af11-e73f3d2b7396)
-
-![Instagram_post_-_5](https://github.com/user-attachments/assets/3a30183c-a625-4a18-b7e3-685e2f01bc2c)
-
+### 📍 주요 기능
+#### 1️⃣ 코스 등록하기 및 열람
+|![Instagram_post_-_4](https://github.com/user-attachments/assets/6232fd24-f906-49a8-9ea0-16d296545931)|![Instagram_post_-_5](https://github.com/user-attachments/assets/0d648884-0d06-4043-9d31-03df52d434b9)|
+|---|---|
- 내가 한 데이트 코스를 등록하고 포인트를 획득할 수 있습니다.
- 다른 커플들이 한 데이트를 포인트를 사용해 열람할 수 있습니다.
- 코스 상세 페이지에서 ‘내 일정에 추가하기’ 버튼을 눌러 내 데이트 일정으로 불러올 수 있습니다.
-### 2️⃣ 일정 등록하기 및 열람
+#### 2️⃣ 일정 등록하기 및 열람
-![Instagram_post_-_10](https://github.com/user-attachments/assets/4698b585-7369-4cb8-b3ca-6ebde11e5586)
-
-![Instagram_post_-_6](https://github.com/user-attachments/assets/c5666dee-da05-41b9-8934-739e50de6498)
+|![Instagram_post_-_10](https://github.com/user-attachments/assets/8e3a627f-e567-4ad5-ac11-63e560a09b67)|![Instagram_post_-_6](https://github.com/user-attachments/assets/e9accf21-1c6c-4fb5-9ad8-f834ab5750fa)|
+|---|---|
- 내 데이트 일정을 등록할 수 있습니다.
- 내 데이트 일정을 확인할 수 있습니다.
@@ -174,13 +174,13 @@
## 💰 비즈니스 모델
----
-
> **포인트를 통한 수익 모델**
->
+>
- 유저들은 데이트 코스를 등록하고 포인트를 획득해 제휴 매장에 할인받아 방문합니다.
- 구글 애드센스를 연결하여 광고를 시청하면 포인트를 획득할 수 있습니다. 데이트로드는 광고 수익을 얻을 수 있습니다.
> **입점처를 통한 수익 모델**
->
+>
- 입점 가게는 매장을 홍보하고 유저 방문으로 매출을 증가시키며, 광고주는 유저에게 광고를 노출하여 제품이나 서비스를 홍보합니다. 데이트로드는 이를 통해 수익을 창출하고, 모든 참여자가 상호 이익을 얻는 생태계를 구축합니다.
+
+
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 851bb4dfd..62573c232 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -17,11 +17,11 @@ val properties = Properties().apply {
}
android {
- namespace = "org.sopt.dateroad"
+ namespace = "org.sopt.teamdateroad"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
- applicationId = "org.sopt.dateroad"
+ applicationId = "org.sopt.teamdateroad"
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = libs.versions.versionCode.get().toInt()
@@ -94,6 +94,7 @@ dependencies {
// Google
implementation(platform(libs.google.firebase.bom))
implementation(libs.google.firebase.crashlytics)
+ implementation(libs.firebase.crashlytics.buildtools)
// Network
implementation(platform(libs.okhttp.bom))
diff --git a/app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt b/app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt
similarity index 95%
rename from app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt
rename to app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt
index 4f17cfdac..f0c140db8 100644
--- a/app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad
+package org.sopt.teamdateroad
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt
deleted file mode 100644
index 47a706039..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasource
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto
-
-interface AdvertisementRemoteDataSource {
- suspend fun getAdvertisementDetail(advertisementId: Int): ResponseAdvertisementDetailDto
- suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt
deleted file mode 100644
index 42f1836dd..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasource
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto
-
-interface ProfileRemoteDataSource {
- suspend fun getProfile(): ResponseProfileDto
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt
deleted file mode 100644
index b210627c5..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasource
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto
-
-interface TimelineRemoteDataSource {
- suspend fun deleteTimeline(timelineId: Int)
-
- suspend fun getTimelineDetail(timelineId: Int): ResponseTimelineDetailDto
-
- suspend fun getTimelines(timelineTimeType: String): ResponseTimelinesDto
-
- suspend fun getNearestTimeline(): ResponseNearestTimelineDto
-
- suspend fun postTimeline(requestTimelineDto: RequestTimelineDto)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt
deleted file mode 100644
index e6d980c29..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasource
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto
-
-interface UserPointRemoteDataSource {
- suspend fun getUserPoint(): ResponseUserPointDto
-
- suspend fun getPointHistory(): ResponsePointHistoryDto
-
- suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt
deleted file mode 100644
index 856cd7562..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
-
-import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto
-import org.sopt.dateroad.data.dataremote.service.ProfileService
-
-class ProfileRemoteDataSourceImpl @Inject constructor(
- private val profileService: ProfileService
-) : ProfileRemoteDataSource {
-
- override suspend fun getProfile(): ResponseProfileDto =
- profileService.getProfile()
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt
deleted file mode 100644
index 6bccb202c..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
-
-import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto
-import org.sopt.dateroad.data.dataremote.service.UserPointService
-
-class UserPointRemoteDataSourceImpl @Inject constructor(
- private val userPointService: UserPointService
-) : UserPointRemoteDataSource {
- override suspend fun getUserPoint(): ResponseUserPointDto = userPointService.getUserPoint()
-
- override suspend fun getPointHistory(): ResponsePointHistoryDto = userPointService.getPointHistory()
-
- override suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto) = userPointService.postUsePoint(courseId = courseId, requestUsePointDto = requestUsePointDto)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt
deleted file mode 100644
index 32f032f80..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.sopt.dateroad.data.dataremote.model.base
-
-import kotlinx.serialization.SerialName
-import kotlinx.serialization.Serializable
-
-@Serializable
-data class BaseResponse(
- @SerialName("code")
- val code: Int,
- @SerialName("message")
- val message: String,
- @SerialName("data")
- val data: T
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt
deleted file mode 100644
index 892b8a500..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.sopt.dateroad.data.dataremote.model.request
-
-import kotlinx.serialization.SerialName
-import kotlinx.serialization.Serializable
-
-@Serializable
-data class RequestSignUpDto(
- @SerialName("userSignUpReq")
- val userSignUpReq: RequestUserSignUpInfoDto,
- @SerialName("image")
- val image: String,
- @SerialName("tag")
- val tag: List
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt
deleted file mode 100644
index 4e9005954..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENTS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENT_ID
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import retrofit2.http.GET
-import retrofit2.http.Path
-
-interface AdvertisementService {
- @GET("$API/$VERSION/$ADVERTISEMENTS/{$ADVERTISEMENT_ID}")
- suspend fun getAdvertisementDetail(
- @Path(ADVERTISEMENT_ID) advertisementId: Int
- ): ResponseAdvertisementDetailDto
-
- @GET("$API/$VERSION/$ADVERTISEMENTS")
- suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt
deleted file mode 100644
index 409e445c5..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import okhttp3.MultipartBody
-import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto
-import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.CHECK
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.IS_DEFAULT_IMAGE
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.NAME
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGNUP
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGN_IN
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGN_OUT
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAG
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAGS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USER_SIGN_UP_DATA
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.WITHDRAW
-import retrofit2.Response
-import retrofit2.http.Body
-import retrofit2.http.DELETE
-import retrofit2.http.GET
-import retrofit2.http.HTTP
-import retrofit2.http.Multipart
-import retrofit2.http.PATCH
-import retrofit2.http.POST
-import retrofit2.http.Part
-import retrofit2.http.Query
-
-interface AuthService {
- @DELETE("$API/$VERSION/$USERS/$SIGN_OUT")
- suspend fun deleteSignOut()
-
- @HTTP(method = "DELETE", hasBody = true, path = "$API/$VERSION/$USERS/$WITHDRAW")
- suspend fun deleteWithdraw(
- @Body requestWithdrawDto: RequestWithdrawDto
- )
-
- @GET("$API/$VERSION/$USERS/$CHECK")
- suspend fun getNicknameCheck(
- @Query(NAME) name: String
- ): Response
-
- @POST("$API/$VERSION/$USERS/$SIGN_IN")
- suspend fun postSignIn(
- @Body requestSignInDto: RequestSignInDto
- ): ResponseAuthDto
-
- @Multipart
- @POST("$API/$VERSION/$USERS/$SIGNUP")
- suspend fun postSignUp(
- @Part image: MultipartBody.Part?,
- @Part(USER_SIGN_UP_DATA) userSignUpData: RequestBody,
- @Part(TAG) tags: RequestBody
- ): ResponseAuthDto
-
- @Multipart
- @PATCH("$API/$VERSION/$USERS")
- suspend fun patchProfile(
- @Part(NAME) name: RequestBody,
- @Part(TAGS) tags: RequestBody,
- @Part image: MultipartBody.Part?,
- @Part(IS_DEFAULT_IMAGE)isDefaultImage: RequestBody
- )
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt
deleted file mode 100644
index f750f7ff5..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import retrofit2.http.GET
-
-interface MyCourseService {
- @GET("$API/$VERSION/$COURSES/$USERS")
- suspend fun getMyCourseEnroll(): ResponseCoursesDto
-
- @GET("$API/$VERSION/$COURSES/$DATE_ACCESS")
- suspend fun getMyCourseRead(): ResponseCoursesDto
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt
deleted file mode 100644
index ed4dc9eb1..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import retrofit2.http.GET
-
-interface ProfileService {
- @GET("$API/$VERSION/$USERS")
- suspend fun getProfile(): ResponseProfileDto
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt
deleted file mode 100644
index 8665d5bb3..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ID
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.NEAREST
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TIME
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import retrofit2.http.Body
-import retrofit2.http.DELETE
-import retrofit2.http.GET
-import retrofit2.http.POST
-import retrofit2.http.Path
-import retrofit2.http.Query
-
-interface TimelineService {
- @DELETE("$API/$VERSION/$DATES/{$DATE_ID}")
- suspend fun deleteTimeline(
- @Path(DATE_ID) timelineId: Int
- )
-
- @GET("$API/$VERSION/$DATES/{$DATE_ID}")
- suspend fun getTimelineDetail(
- @Path(DATE_ID) timelineId: Int
- ): ResponseTimelineDetailDto
-
- @GET("$API/$VERSION/$DATES")
- suspend fun getTimelines(
- @Query(TIME) timelineTimeType: String
- ): ResponseTimelinesDto
-
- @GET("$API/$VERSION/$DATES/$NEAREST")
- suspend fun getNearestTimeline(): ResponseNearestTimelineDto
-
- @POST("$API/$VERSION/$DATES")
- suspend fun postTimeline(
- @Body requestTimelineDto: RequestTimelineDto
- )
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt
deleted file mode 100644
index ec718ef6a..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.sopt.dateroad.data.dataremote.service
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE_ID
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.MAIN
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.POINTS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
-import retrofit2.http.Body
-import retrofit2.http.GET
-import retrofit2.http.POST
-import retrofit2.http.Path
-
-interface UserPointService {
- @GET("$API/$VERSION/$USERS/$MAIN")
- suspend fun getUserPoint(): ResponseUserPointDto
-
- @GET("$API/$VERSION/$POINTS")
- suspend fun getPointHistory(): ResponsePointHistoryDto
-
- @POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$DATE_ACCESS")
- suspend fun postUsePoint(
- @Path(COURSE_ID) courseId: Int,
- @Body requestUsePointDto: RequestUsePointDto
- )
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt
deleted file mode 100644
index 4a12cfbfe..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.sopt.dateroad.data.mapper.toEntity
-
-import org.sopt.dateroad.domain.type.GyeonggiAreaType
-import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType
-import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.toGyeonggiAreaTitle
-import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.toGyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.toIncheonAreaTitle
-import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.toIncheonAreaType
-import org.sopt.dateroad.domain.type.SeoulAreaType
-import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType
-import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.toSeoulAreaTitle
-import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.toSeoulAreaType
-
-fun Any?.toAreaTitle(): String = when (this) {
- is SeoulAreaType -> this.title
- is GyeonggiAreaType -> this.title
- is IncheonAreaType -> this.title
- else -> ""
-}
-
-fun String.toAreaType(): Any? =
- when {
- this.toSeoulAreaTitle().isNotEmpty() -> this.toSeoulAreaType()
- this.toGyeonggiAreaTitle().isNotEmpty() -> this.toGyeonggiAreaType()
- this.toIncheonAreaTitle().isNotEmpty() -> this.toIncheonAreaType()
- else -> this
- }
-
-fun String.fromTitleToAreaType(): Any? =
- when {
- this.fromTitleToSeoulAreaType() != null -> this.fromTitleToSeoulAreaType()
- this.fromTitleToGyeonggiAreaType() != null -> this.fromTitleToGyeonggiAreaType()
- this.fromTitleToIncheonAreaType() != null -> this.fromTitleToIncheonAreaType()
- else -> this
- }
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt
deleted file mode 100644
index 7e6d5ffbb..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.sopt.dateroad.data.mapper.toEntity
-
-import java.text.NumberFormat
-import java.util.Locale
-import org.sopt.dateroad.data.dataremote.util.Cost
-import org.sopt.dateroad.presentation.util.TotalCostZero.ZERO_COST
-
-fun Int.toCost(): String = if (this == 0) {
- ZERO_COST
-} else {
- "${NumberFormat.getNumberInstance(Locale.KOREA).format(this)}${Cost.COST}"
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt
deleted file mode 100644
index 62a471998..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.sopt.dateroad.data.mapper.toEntity
-
-import org.sopt.dateroad.data.dataremote.util.Duration
-
-fun Float.toDuration(): String {
- val formattedDuration = if (this % 1.0 == 0.0) {
- "%.0f".format(this)
- } else {
- "%.1f".format(this)
- }
- return "$formattedDuration${Duration.DURATION}"
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt
deleted file mode 100644
index e02d98788..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.sopt.dateroad.data.mapper.toEntity
-
-import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType
-
-fun String.toRegionType(): RegionType? = when {
- this.fromTitleToSeoulAreaType() != null -> RegionType.SEOUL
- this.fromTitleToGyeonggiAreaType() != null -> RegionType.GYEONGGI
- this.fromTitleToIncheonAreaType() != null -> RegionType.INCHEON
- else -> null
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt
deleted file mode 100644
index 23b1add95..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestPlaceDto
-import org.sopt.dateroad.data.dataremote.util.Duration.DURATION
-import org.sopt.dateroad.domain.model.Place
-
-fun Place.toData(sequence: Int): RequestPlaceDto = RequestPlaceDto(
- sequence = sequence,
- title = this.title,
- duration = duration.substringBefore(DURATION).toFloat()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt
deleted file mode 100644
index 05cb5cfe3..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.model.Profile
-
-fun Profile.toEditProfile(): EditProfile = EditProfile(
- name = this.name,
- tags = this.tag,
- image = this.imageUrl
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt
deleted file mode 100644
index 2eab91b42..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto
-import org.sopt.dateroad.domain.model.SignIn
-
-fun SignIn.toData(): RequestSignInDto = RequestSignInDto(
- platform = this.platform
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt
deleted file mode 100644
index 7ad5b412f..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestTagDto
-
-fun String.toData() = RequestTagDto(tag = this)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt
deleted file mode 100644
index a8142bce9..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestTagsDto
-
-fun List.toData(): RequestTagsDto = RequestTagsDto(
- tag = this
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt
deleted file mode 100644
index 462f89135..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto
-import org.sopt.dateroad.domain.model.UsePoint
-
-fun UsePoint.toData(): RequestUsePointDto = RequestUsePointDto(
- point = this.point,
- type = this.type,
- description = this.description
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt
deleted file mode 100644
index b647aaea6..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.data.mapper.todata
-
-import org.sopt.dateroad.data.dataremote.model.request.RequestUserSignUpInfoDto
-import org.sopt.dateroad.domain.model.UserSignUpInfo
-
-fun UserSignUpInfo.toData(): RequestUserSignUpInfoDto = RequestUserSignUpInfoDto(
- name = this.name,
- platform = this.platform
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt
deleted file mode 100644
index 16b850da4..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDto
-import org.sopt.dateroad.domain.model.Advertisement
-
-fun ResponseAdvertisementDto.toDomain(): Advertisement = Advertisement(
- advertisementId = this.advertisementId,
- thumbnail = this.thumbnail
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt
deleted file mode 100644
index fe2108482..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto
-import org.sopt.dateroad.domain.model.Advertisement
-
-fun ResponseAdvertisementsDto.toDomain(): List = this.advertisements.map { responseAdvertisementDto -> responseAdvertisementDto.toDomain() }
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt
deleted file mode 100644
index 49882874b..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto
-import org.sopt.dateroad.domain.model.Auth
-
-fun ResponseAuthDto.toDomain(): Auth = Auth(
- accessToken = this.accessToken,
- refreshToken = this.refreshToken
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt
deleted file mode 100644
index fd0e3ac2f..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDto
-import org.sopt.dateroad.data.mapper.toEntity.toDuration
-import org.sopt.dateroad.data.mapper.toEntity.toLike
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.type.MoneyTagType.Companion.toCostTagTitle
-
-fun ResponseCourseDto.toDomain(): Course = Course(
- courseId = this.courseId,
- thumbnail = this.thumbnail,
- title = this.title,
- city = this.city,
- cost = this.cost.toCostTagTitle(),
- duration = this.duration.toDuration(),
- like = this.like.toLike()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt
deleted file mode 100644
index 11f273854..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
-import org.sopt.dateroad.domain.model.Course
-
-fun ResponseCoursesDto.toDomain(): List = this.courses.map { course -> course.toDomain() }
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt
deleted file mode 100644
index 444e56971..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto
-import org.sopt.dateroad.data.mapper.toEntity.toDDayString
-import org.sopt.dateroad.data.mapper.toEntity.toFormattedDate
-import org.sopt.dateroad.data.mapper.toEntity.toStartAtString
-import org.sopt.dateroad.domain.model.NearestTimeline
-
-fun ResponseNearestTimelineDto.toDomain(): NearestTimeline = NearestTimeline(
- timelineId = this.timelineId,
- dDay = this.dDay.toDDayString(),
- dateName = this.dateName,
- date = toFormattedDate(),
- startAt = this.startAt.toStartAtString()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt
deleted file mode 100644
index 063510b47..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePlaceDto
-import org.sopt.dateroad.data.mapper.toEntity.toDuration
-import org.sopt.dateroad.domain.model.Place
-
-fun ResponsePlaceDto.toDomain() = Place(
- title = this.title,
- duration = this.duration.toDuration()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt
deleted file mode 100644
index bb7a4e572..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto
-import org.sopt.dateroad.domain.model.PointHistory
-
-fun ResponsePointHistoryDto.toDomain(): PointHistory = PointHistory(
- gained = this.gained.toGainedPointDomain(),
- used = this.used.toUsedPointDomain()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt
deleted file mode 100644
index cdc89005c..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto
-import org.sopt.dateroad.data.mapper.toEntity.toPoint
-import org.sopt.dateroad.domain.model.Profile
-
-fun ResponseProfileDto.toDomain(): Profile = Profile(
- name = this.name,
- tag = this.tags,
- point = this.point.toPoint(),
- imageUrl = this.imageUrl
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt
deleted file mode 100644
index df287c663..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTagDto
-import org.sopt.dateroad.presentation.type.DateTagType
-
-fun ResponseTagDto.toDomain(): DateTagType = DateTagType.valueOf(this.tag)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt
deleted file mode 100644
index dc2f1ddef..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.sopt.dateroad.data.mapper.todomain
-
-import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto
-import org.sopt.dateroad.data.mapper.toEntity.toPoint
-import org.sopt.dateroad.domain.model.UserPoint
-
-fun ResponseUserPointDto.toDomain(): UserPoint = UserPoint(
- name = this.name,
- point = this.point.toPoint(),
- imageUrl = this.image
-)
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt b/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt
deleted file mode 100644
index 91b18e4d6..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-
-package org.sopt.dateroad.data.repositoryimpl
-
-import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.Profile
-import org.sopt.dateroad.domain.repository.ProfileRepository
-
-class ProfileRepositoryImpl @Inject constructor(
- private val profileDataSource: ProfileRemoteDataSource
-) : ProfileRepository {
- override suspend fun getUsers(): Result = runCatching {
- profileDataSource.getProfile().toDomain()
- }
-}
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt b/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt
deleted file mode 100644
index 6bcaa4ade..000000000
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.sopt.dateroad.data.repositoryimpl
-
-import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource
-import org.sopt.dateroad.data.mapper.todata.toData
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.PointHistory
-import org.sopt.dateroad.domain.model.UsePoint
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.domain.repository.UserPointRepository
-
-class UserPointRepositoryImpl @Inject constructor(
- private val userPointRemoteDataSource: UserPointRemoteDataSource
-) : UserPointRepository {
- override suspend fun getUserPoint(): Result = runCatching {
- userPointRemoteDataSource.getUserPoint().toDomain()
- }
-
- override suspend fun getPointHistory(): Result = runCatching {
- userPointRemoteDataSource.getPointHistory().toDomain()
- }
-
- override suspend fun postUsePoint(courseId: Int, usePoint: UsePoint) {
- userPointRemoteDataSource.postUsePoint(courseId = courseId, requestUsePointDto = usePoint.toData())
- }
-}
diff --git a/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt b/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt
deleted file mode 100644
index 26c1d5088..000000000
--- a/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.sopt.dateroad.di
-
-import dagger.Binds
-import dagger.Module
-import dagger.hilt.InstallIn
-import dagger.hilt.components.SingletonComponent
-import javax.inject.Singleton
-import org.sopt.dateroad.data.repositoryimpl.AdvertisementRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.AuthRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.CourseRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.MyCourseRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.ProfileRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.TimelineRepositoryImpl
-import org.sopt.dateroad.data.repositoryimpl.UserPointRepositoryImpl
-import org.sopt.dateroad.domain.repository.AdvertisementRepository
-import org.sopt.dateroad.domain.repository.AuthRepository
-import org.sopt.dateroad.domain.repository.CourseRepository
-import org.sopt.dateroad.domain.repository.MyCourseRepository
-import org.sopt.dateroad.domain.repository.ProfileRepository
-import org.sopt.dateroad.domain.repository.TimelineRepository
-import org.sopt.dateroad.domain.repository.UserPointRepository
-
-@Module
-@InstallIn(SingletonComponent::class)
-abstract class RepositoryModule {
- @Binds
- @Singleton
- abstract fun bindsAdvertisementRepository(advertisementRepositoryImpl: AdvertisementRepositoryImpl): AdvertisementRepository
-
- @Binds
- @Singleton
- abstract fun bindAuthRepository(authRepositoryImpl: AuthRepositoryImpl): AuthRepository
-
- @Binds
- @Singleton
- abstract fun bindsCourseRepository(courseRepositoryImpl: CourseRepositoryImpl): CourseRepository
-
- @Binds
- @Singleton
- abstract fun bindsTimelineRepository(timelineRepositoryImpl: TimelineRepositoryImpl): TimelineRepository
-
- @Binds
- @Singleton
- abstract fun bindsMyCourseRepository(myCourseRepositoryImpl: MyCourseRepositoryImpl): MyCourseRepository
-
- @Binds
- @Singleton
- abstract fun bindsUserPointRepository(userPointRepositoryImpl: UserPointRepositoryImpl): UserPointRepository
-
- @Binds
- @Singleton
- abstract fun bindsProfileRepository(profileRepositoryImpl: ProfileRepositoryImpl): ProfileRepository
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt
deleted file mode 100644
index 834e54f95..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.sopt.dateroad.domain.repository
-
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.type.SortByType
-
-interface CourseRepository {
- suspend fun deleteCourse(courseId: Int): Result
-
- suspend fun deleteCourseLike(courseId: Int): Result
-
- suspend fun getCourseDetail(courseId: Int): Result
-
- suspend fun getFilteredCourses(country: RegionType?, city: Any?, cost: MoneyTagType?): Result>
-
- suspend fun getSortedCourses(sortedBy: SortByType): Result>
-
- suspend fun postCourse(enroll: Enroll): Result
-
- suspend fun postCourseLike(courseId: Int): Result
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt
deleted file mode 100644
index 215060a5a..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.sopt.dateroad.domain.repository
-
-import org.sopt.dateroad.domain.model.Profile
-
-interface ProfileRepository {
- suspend fun getUsers(): Result
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt
deleted file mode 100644
index 46d1ffe09..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.sopt.dateroad.domain.repository
-
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.domain.type.TimelineTimeType
-
-interface TimelineRepository {
- suspend fun deleteTimeline(timelineId: Int)
-
- suspend fun getTimelineDetail(timelineId: Int): Result
-
- suspend fun getTimelines(timelineTimeType: TimelineTimeType): Result>
-
- suspend fun getNearestTimeline(): Result
-
- suspend fun postTimeline(enroll: Enroll): Result
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt
deleted file mode 100644
index cbf8e89c3..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.sopt.dateroad.domain.repository
-
-import org.sopt.dateroad.domain.model.PointHistory
-import org.sopt.dateroad.domain.model.UsePoint
-import org.sopt.dateroad.domain.model.UserPoint
-
-interface UserPointRepository {
- suspend fun getUserPoint(): Result
-
- suspend fun getPointHistory(): Result
-
- suspend fun postUsePoint(courseId: Int, usePoint: UsePoint)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt b/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt
deleted file mode 100644
index e34f7129e..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.sopt.dateroad.domain.type
-
-enum class TransactionType {
- POINT_GAINED,
- POINT_USED
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt
deleted file mode 100644
index 87df2c3c9..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.sopt.dateroad.domain.usecase
-
-import javax.inject.Inject
-import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Profile
-import org.sopt.dateroad.domain.repository.ProfileRepository
-
-@Singleton
-class GetUserUseCase @Inject constructor(
- private val profileRepository: ProfileRepository
-) {
- suspend operator fun invoke(): Result =
- profileRepository.getUsers()
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt
deleted file mode 100644
index 5f3d1d46a..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.sopt.dateroad.domain.usecase
-
-import javax.inject.Inject
-import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.CourseRepository
-
-@Singleton
-class PostCourseLikeUseCase @Inject constructor(
- private val courseRepository: CourseRepository
-) {
- suspend operator fun invoke(courseId: Int): Result = runCatching {
- courseRepository.postCourseLike(courseId = courseId)
- }
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt
deleted file mode 100644
index fa608a696..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.sopt.dateroad.domain.usecase
-
-import javax.inject.Inject
-import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.repository.CourseRepository
-
-@Singleton
-class PostCourseUseCase @Inject constructor(
- private val courseRepository: CourseRepository
-) {
- suspend operator fun invoke(enroll: Enroll): Result = courseRepository.postCourse(enroll = enroll)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt
deleted file mode 100644
index 1d13755aa..000000000
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.sopt.dateroad.domain.usecase
-
-import javax.inject.Inject
-import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.repository.TimelineRepository
-
-@Singleton
-class PostTimelineUseCase @Inject constructor(
- private val timelineRepository: TimelineRepository
-) {
- suspend operator fun invoke(enroll: Enroll): Result = timelineRepository.postTimeline(enroll = enroll)
-}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt
deleted file mode 100644
index f45054a5e..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.presentation.ui.component.bottomsheet.model
-
-import org.sopt.dateroad.presentation.ui.component.numberpicker.state.PickerState
-
-data class Picker(
- val items: List,
- val startIndex: Int = 0,
- val pickerState: PickerState = PickerState()
-)
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt
deleted file mode 100644
index 013bd7d0f..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.sopt.dateroad.presentation.ui.profile.navigation
-
-import androidx.navigation.NavController
-import androidx.navigation.NavGraphBuilder
-import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.type.ProfileType
-import org.sopt.dateroad.presentation.ui.profile.ProfileRoute
-
-fun NavController.navigationEnrollProfile() {
- navigate(
- route = EnrollProfileRoute.ROUTE
- )
-}
-
-fun NavController.navigationEditProfile() {
- navigate(
- route = EditProfileRoute.ROUTE
- )
-}
-
-fun NavGraphBuilder.enrollProfileNavGraph(
- navigateToHome: () -> Unit,
- navigateToMyPage: () -> Unit,
- profileType: ProfileType,
- popBackStack: () -> Unit
-
-) {
- composable(route = EnrollProfileRoute.ROUTE) {
- ProfileRoute(
- navigationToHome = navigateToHome,
- navigationToMyPage = navigateToMyPage,
- profileType = profileType,
- popBackStack = popBackStack
-
- )
- }
-}
-
-fun NavGraphBuilder.editProfileNavGraph(
- navigateToHome: () -> Unit,
- navigateToMyPage: () -> Unit,
- profileType: ProfileType,
- popBackStack: () -> Unit
-
-) {
- composable(route = EditProfileRoute.ROUTE) {
- ProfileRoute(
- navigationToHome = navigateToHome,
- navigationToMyPage = navigateToMyPage,
- profileType = profileType,
- popBackStack = popBackStack
- )
- }
-}
-
-object EnrollProfileRoute {
- const val ROUTE = "enrollProfile"
-}
-
-object EditProfileRoute {
- const val ROUTE = "editProfile"
-}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt
deleted file mode 100644
index ef1246c2c..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.sopt.dateroad.presentation.util.base
-
-interface UiEvent
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt
deleted file mode 100644
index a869c3c3d..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.sopt.dateroad.presentation.util.base
-
-interface UiSideEffect
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt
deleted file mode 100644
index f2f1b45b3..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.sopt.dateroad.presentation.util.base
-
-interface UiState
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt
deleted file mode 100644
index aca08ee36..000000000
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.sopt.dateroad.presentation.util.context
-
-import android.content.Context
-import android.widget.Toast
-
-fun Context.showToast(message: String, isShort: Boolean = true) {
- val duration = if (isShort) Toast.LENGTH_SHORT else Toast.LENGTH_LONG
- Toast.makeText(this, message, duration).show()
-}
diff --git a/app/src/main/java/org/sopt/dateroad/DateRoadApp.kt b/app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/DateRoadApp.kt
rename to app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt
index 245a42e39..29aeb173e 100644
--- a/app/src/main/java/org/sopt/dateroad/DateRoadApp.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad
+package org.sopt.teamdateroad
import android.app.Application
import androidx.appcompat.app.AppCompatDelegate
import com.kakao.sdk.common.KakaoSdk
import dagger.hilt.android.HiltAndroidApp
-import org.sopt.dateroad.BuildConfig.KAKAO_NATIVE_APP_KEY
-import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils.initAmplitude
+import org.sopt.teamdateroad.BuildConfig.KAKAO_NATIVE_APP_KEY
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils.initAmplitude
import timber.log.Timber
@HiltAndroidApp
diff --git a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt
similarity index 70%
rename from app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt
index 954932f82..a86132660 100644
--- a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.datalocal.datasource
+package org.sopt.teamdateroad.data.datalocal.datasource
interface UserInfoLocalDataSource {
var accessToken: String
diff --git a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt
index 50ec5d965..38794f242 100644
--- a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.datalocal.datasourceimpl
+package org.sopt.teamdateroad.data.datalocal.datasourceimpl
import android.content.Context
import android.content.SharedPreferences
@@ -9,8 +9,8 @@ import com.kakao.sdk.auth.Constants.ACCESS_TOKEN
import com.kakao.sdk.auth.Constants.REFRESH_TOKEN
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
-import org.sopt.dateroad.BuildConfig
-import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource
+import org.sopt.teamdateroad.BuildConfig
+import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource
class UserInfoLocalDataSourceImpl @Inject constructor(
@ApplicationContext context: Context
@@ -32,15 +32,15 @@ class UserInfoLocalDataSourceImpl @Inject constructor(
}
override var accessToken: String
- get() = sharedPreferences.getString(ACCESS_TOKEN, "").toString()
+ get() = sharedPreferences.getString(ACCESS_TOKEN, INITIAL_VALUE).toString()
set(value) = sharedPreferences.edit { putString(ACCESS_TOKEN, value) }
override var refreshToken: String
- get() = sharedPreferences.getString(REFRESH_TOKEN, "").toString()
+ get() = sharedPreferences.getString(REFRESH_TOKEN, INITIAL_VALUE).toString()
set(value) = sharedPreferences.edit { putString(REFRESH_TOKEN, value) }
override var nickname: String
- get() = sharedPreferences.getString(NICK_NAME, "").toString()
+ get() = sharedPreferences.getString(NICK_NAME, INITIAL_VALUE).toString()
set(value) = sharedPreferences.edit { putString(NICK_NAME, value) }
override fun clear() = sharedPreferences.edit { clear() }
@@ -48,5 +48,6 @@ class UserInfoLocalDataSourceImpl @Inject constructor(
companion object {
const val FILE_NAME = "DateRoadLocalDataSource"
const val NICK_NAME = "NickName"
+ const val INITIAL_VALUE = ""
}
}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt
new file mode 100644
index 000000000..0ebbc678a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.dataremote.datasource
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto
+
+interface AdvertisementRemoteDataSource {
+ suspend fun getAdvertisementDetail(advertisementId: Int): ResponseAdvertisementDetailDto
+
+ suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt
index 8819d33d6..3e3e70160 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.data.dataremote.datasource
+package org.sopt.teamdateroad.data.dataremote.datasource
import okhttp3.MultipartBody
import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto
-import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto
interface AuthRemoteDataSource {
suspend fun deleteSignOut()
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt
index 2dbb97a27..e0b1d6799 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt
@@ -1,9 +1,10 @@
-package org.sopt.dateroad.data.dataremote.datasource
+package org.sopt.teamdateroad.data.dataremote.datasource
import okhttp3.MultipartBody
import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto
interface CourseRemoteDataSource {
suspend fun deleteCourse(courseId: Int)
@@ -16,7 +17,7 @@ interface CourseRemoteDataSource {
suspend fun getSortedCourses(sortBy: String): ResponseCoursesDto
- suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody)
+ suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody): ResponseEnrollCourseDto
suspend fun postCourseLike(courseId: Int)
}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt
similarity index 52%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt
index f97d46661..99b282950 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.data.dataremote.datasource
+package org.sopt.teamdateroad.data.dataremote.datasource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
interface MyCourseRemoteDataSource {
suspend fun getMyCourseEnroll(): ResponseCoursesDto
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt
new file mode 100644
index 000000000..16201e4b2
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt
@@ -0,0 +1,7 @@
+package org.sopt.teamdateroad.data.dataremote.datasource
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto
+
+interface ProfileRemoteDataSource {
+ suspend fun getProfile(): ResponseProfileDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt
new file mode 100644
index 000000000..31a22bf2c
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt
@@ -0,0 +1,19 @@
+package org.sopt.teamdateroad.data.dataremote.datasource
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto
+
+interface TimelineRemoteDataSource {
+ suspend fun deleteTimeline(timelineId: Int)
+
+ suspend fun getTimelineDetail(timelineId: Int): ResponseTimelineDetailDto
+
+ suspend fun getTimelines(timelineTimeType: String): ResponseTimelinesDto
+
+ suspend fun getNearestTimeline(): ResponseNearestTimelineDto
+
+ suspend fun postTimeline(requestTimelineDto: RequestTimelineDto): ResponseEnrollTimelineDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt
new file mode 100644
index 000000000..3e6d5820a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.data.dataremote.datasource
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto
+
+interface UserPointRemoteDataSource {
+ suspend fun getUserPoint(): ResponseUserPointDto
+
+ suspend fun getPointHistory(): ResponsePointHistoryDto
+
+ suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto): ResponseUserUsePointDto
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt
similarity index 55%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt
index 90615fe7d..27739c134 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto
-import org.sopt.dateroad.data.dataremote.service.AdvertisementService
+import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto
+import org.sopt.teamdateroad.data.dataremote.service.AdvertisementService
class AdvertisementRemoteDataSourceImpl @Inject constructor(
private val advertisementService: AdvertisementService
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt
index e36ddc3d0..28c7ccca3 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
import javax.inject.Inject
import okhttp3.MultipartBody
import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto
-import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto
-import org.sopt.dateroad.data.dataremote.service.AuthService
+import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto
+import org.sopt.teamdateroad.data.dataremote.service.AuthService
class AuthRemoteDataSourceImpl @Inject constructor(
private val authService: AuthService
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt
similarity index 66%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt
index 1de52e073..59d723a40 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt
@@ -1,12 +1,13 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
import javax.inject.Inject
import okhttp3.MultipartBody
import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
-import org.sopt.dateroad.data.dataremote.service.CourseService
+import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto
+import org.sopt.teamdateroad.data.dataremote.service.CourseService
class CourseRemoteDataSourceImpl @Inject constructor(
private val courseService: CourseService
@@ -21,7 +22,7 @@ class CourseRemoteDataSourceImpl @Inject constructor(
override suspend fun getSortedCourses(sortBy: String): ResponseCoursesDto = courseService.getSortedCourses(sortBy = sortBy)
- override suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody) = courseService.postCourse(images = images, course = course, tags = tags, places = places)
+ override suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody): ResponseEnrollCourseDto = courseService.postCourse(images = images, course = course, tags = tags, places = places)
override suspend fun postCourseLike(courseId: Int) = courseService.postCourseLike(courseId = courseId)
}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt
similarity index 56%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt
index b8490c0d1..cd6a29c9d 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
-import org.sopt.dateroad.data.dataremote.service.MyCourseService
+import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.service.MyCourseService
class MyCourseRemoteDataSourceImpl @Inject constructor(
private val myCourseService: MyCourseService
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt
new file mode 100644
index 000000000..d5b540115
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
+
+import javax.inject.Inject
+import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto
+import org.sopt.teamdateroad.data.dataremote.service.ProfileService
+
+class ProfileRemoteDataSourceImpl @Inject constructor(
+ private val profileService: ProfileService
+) : ProfileRemoteDataSource {
+
+ override suspend fun getProfile(): ResponseProfileDto =
+ profileService.getProfile()
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt
similarity index 50%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt
index 66624bb6b..e2fae4b61 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt
@@ -1,12 +1,13 @@
-package org.sopt.dateroad.data.dataremote.datasourceimpl
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto
-import org.sopt.dateroad.data.dataremote.service.TimelineService
+import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto
+import org.sopt.teamdateroad.data.dataremote.service.TimelineService
class TimelineRemoteDataSourceImpl @Inject constructor(
private val timelineService: TimelineService
@@ -19,5 +20,5 @@ class TimelineRemoteDataSourceImpl @Inject constructor(
override suspend fun getNearestTimeline(): ResponseNearestTimelineDto = timelineService.getNearestTimeline()
- override suspend fun postTimeline(requestTimelineDto: RequestTimelineDto) = timelineService.postTimeline(requestTimelineDto = requestTimelineDto)
+ override suspend fun postTimeline(requestTimelineDto: RequestTimelineDto): ResponseEnrollTimelineDto = timelineService.postTimeline(requestTimelineDto = requestTimelineDto)
}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt
new file mode 100644
index 000000000..4b877b50e
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt
@@ -0,0 +1,19 @@
+package org.sopt.teamdateroad.data.dataremote.datasourceimpl
+
+import javax.inject.Inject
+import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto
+import org.sopt.teamdateroad.data.dataremote.service.UserPointService
+
+class UserPointRemoteDataSourceImpl @Inject constructor(
+ private val userPointService: UserPointService
+) : UserPointRemoteDataSource {
+ override suspend fun getUserPoint(): ResponseUserPointDto = userPointService.getUserPoint()
+
+ override suspend fun getPointHistory(): ResponsePointHistoryDto = userPointService.getPointHistory()
+
+ override suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto): ResponseUserUsePointDto = userPointService.postUsePoint(courseId = courseId, requestUsePointDto = requestUsePointDto)
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt
index 6aeb44c3e..3a45f1102 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.interceptor
+package org.sopt.teamdateroad.data.dataremote.interceptor
import android.app.Application
import android.content.Intent
@@ -14,13 +14,13 @@ import okhttp3.Interceptor
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
-import org.sopt.dateroad.BuildConfig
-import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource
-import org.sopt.dateroad.data.dataremote.model.response.ResponseRefreshTokenDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.REISSUE
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
+import org.sopt.teamdateroad.BuildConfig
+import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseRefreshTokenDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.REISSUE
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
class AuthInterceptor @Inject constructor(
private val json: Json,
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt
index 9202191ab..ce8582314 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt
index 16d48c8af..4c57c7a57 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt
index 44e5c7bbf..c8b441133 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt
index 096d865eb..5ee4c8ca6 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt
index d3fb81079..a4df3cf94 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt
index 8b95c2171..e284785c9 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt
index 2f88c19d2..86261727a 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt
index 0284125c9..3da582e71 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt
index ff9d2c29a..68c0b65a1 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.request
+package org.sopt.teamdateroad.data.dataremote.model.request
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt
index f8334742d..cb1599696 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt
index f5ac2ca00..d681e1c9d 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt
index b416efb94..7b4d9d832 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt
index 23eb755de..8dc5fc9b6 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt
index acc674248..947b13587 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt
index 37ab0d23f..1c17fcaae 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt
index 3772ef754..47fc55069 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt
new file mode 100644
index 000000000..b987723df
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt
@@ -0,0 +1,12 @@
+package org.sopt.teamdateroad.data.dataremote.model.response
+
+import kotlinx.serialization.SerialName
+import kotlinx.serialization.Serializable
+
+@Serializable
+data class ResponseEnrollCourseDto(
+ @SerialName("userPoint")
+ val userPoint: Int,
+ @SerialName("userCourseCount")
+ val userCourseCount: Long
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt
new file mode 100644
index 000000000..5edd522fe
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.dataremote.model.response
+
+import kotlinx.serialization.SerialName
+import kotlinx.serialization.Serializable
+
+@Serializable
+data class ResponseEnrollTimelineDto(
+ @SerialName("dateScheduleNum")
+ val dateScheduleNum: Long
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt
index 8499aa7b8..812592527 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt
index 1955fffd1..1d876d461 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt
index 06a6a601a..5a9e437e8 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt
index afcb8a1e6..96dbf272e 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt
index a54bbe2a8..c847febe7 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt
index 164d4c9c1..bca9d042a 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt
index ce9b8b895..96e89679e 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt
index df2d33d65..b154ae768 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt
index 9a0f4788f..1316bccd1 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt
index 1bcb40f94..f5305c6fc 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt
index 7f64a8a1c..d277c2410 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt
index bd9cc434b..a92ed3ff0 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt
index b66e19374..1480f3e2e 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.model.response
+package org.sopt.teamdateroad.data.dataremote.model.response
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt
new file mode 100644
index 000000000..9ad237261
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.data.dataremote.model.response
+
+import kotlinx.serialization.SerialName
+import kotlinx.serialization.Serializable
+
+@Serializable
+data class ResponseUserUsePointDto(
+ @SerialName("userPoint")
+ val userPoint: Int,
+ @SerialName("userFreeRemained")
+ val userFreeRemained: Int,
+ @SerialName("userPurchaseCount")
+ val userPurchaseCount: Long
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt
new file mode 100644
index 000000000..5418be917
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt
@@ -0,0 +1,20 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENTS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENT_ID
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import retrofit2.http.GET
+import retrofit2.http.Path
+
+interface AdvertisementService {
+ @GET("$API/$VERSION/$ADVERTISEMENTS/{$ADVERTISEMENT_ID}")
+ suspend fun getAdvertisementDetail(
+ @Path(ADVERTISEMENT_ID) advertisementId: Int
+ ): ResponseAdvertisementDetailDto
+
+ @GET("$API/$VERSION/$ADVERTISEMENTS")
+ suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt
new file mode 100644
index 000000000..be6db09cf
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt
@@ -0,0 +1,68 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import okhttp3.MultipartBody
+import okhttp3.RequestBody
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.CHECK
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DELETE_METHOD
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.IS_DEFAULT_IMAGE
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.NAME
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGNUP
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGN_IN
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGN_OUT
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAG
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAGS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USER_SIGN_UP_DATA
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.WITHDRAW
+import retrofit2.Response
+import retrofit2.http.Body
+import retrofit2.http.DELETE
+import retrofit2.http.GET
+import retrofit2.http.HTTP
+import retrofit2.http.Multipart
+import retrofit2.http.PATCH
+import retrofit2.http.POST
+import retrofit2.http.Part
+import retrofit2.http.Query
+
+interface AuthService {
+ @DELETE("$API/$VERSION/$USERS/$SIGN_OUT")
+ suspend fun deleteSignOut()
+
+ @HTTP(method = DELETE_METHOD, hasBody = true, path = "$API/$VERSION/$USERS/$WITHDRAW")
+ suspend fun deleteWithdraw(
+ @Body requestWithdrawDto: RequestWithdrawDto
+ )
+
+ @GET("$API/$VERSION/$USERS/$CHECK")
+ suspend fun getNicknameCheck(
+ @Query(NAME) name: String
+ ): Response
+
+ @POST("$API/$VERSION/$USERS/$SIGN_IN")
+ suspend fun postSignIn(
+ @Body requestSignInDto: RequestSignInDto
+ ): ResponseAuthDto
+
+ @Multipart
+ @POST("$API/$VERSION/$USERS/$SIGNUP")
+ suspend fun postSignUp(
+ @Part image: MultipartBody.Part?,
+ @Part(USER_SIGN_UP_DATA) userSignUpData: RequestBody,
+ @Part(TAG) tags: RequestBody
+ ): ResponseAuthDto
+
+ @Multipart
+ @PATCH("$API/$VERSION/$USERS")
+ suspend fun patchProfile(
+ @Part(NAME) name: RequestBody,
+ @Part(TAGS) tags: RequestBody,
+ @Part image: MultipartBody.Part?,
+ @Part(IS_DEFAULT_IMAGE)isDefaultImage: RequestBody
+ )
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt
similarity index 53%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt
index 3c9b24602..f6379e757 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt
@@ -1,22 +1,23 @@
-package org.sopt.dateroad.data.dataremote.service
+package org.sopt.teamdateroad.data.dataremote.service
import okhttp3.MultipartBody
import okhttp3.RequestBody
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.CITY
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COST
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COUNTRY
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE_ID
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.LIKES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.PLACES
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SORT
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SORT_BY
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAGS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.CITY
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COST
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COUNTRY
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE_ID
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.LIKES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.PLACES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SORT
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SORT_BY
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAGS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
import retrofit2.http.DELETE
import retrofit2.http.GET
import retrofit2.http.Multipart
@@ -60,7 +61,7 @@ interface CourseService {
@Part(COURSE) course: RequestBody,
@Part(TAGS) tags: RequestBody,
@Part(PLACES) places: RequestBody
- )
+ ): ResponseEnrollCourseDto
@POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$LIKES")
suspend fun postCourseLike(
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt
new file mode 100644
index 000000000..a274fec28
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt
@@ -0,0 +1,17 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import retrofit2.http.GET
+
+interface MyCourseService {
+ @GET("$API/$VERSION/$COURSES/$USERS")
+ suspend fun getMyCourseEnroll(): ResponseCoursesDto
+
+ @GET("$API/$VERSION/$COURSES/$DATE_ACCESS")
+ suspend fun getMyCourseRead(): ResponseCoursesDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt
new file mode 100644
index 000000000..c84ac6e34
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt
@@ -0,0 +1,12 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import retrofit2.http.GET
+
+interface ProfileService {
+ @GET("$API/$VERSION/$USERS")
+ suspend fun getProfile(): ResponseProfileDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt
new file mode 100644
index 000000000..904283c2f
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt
@@ -0,0 +1,44 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ID
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.NEAREST
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TIME
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import retrofit2.http.Body
+import retrofit2.http.DELETE
+import retrofit2.http.GET
+import retrofit2.http.POST
+import retrofit2.http.Path
+import retrofit2.http.Query
+
+interface TimelineService {
+ @DELETE("$API/$VERSION/$DATES/{$DATE_ID}")
+ suspend fun deleteTimeline(
+ @Path(DATE_ID) timelineId: Int
+ )
+
+ @GET("$API/$VERSION/$DATES/{$DATE_ID}")
+ suspend fun getTimelineDetail(
+ @Path(DATE_ID) timelineId: Int
+ ): ResponseTimelineDetailDto
+
+ @GET("$API/$VERSION/$DATES")
+ suspend fun getTimelines(
+ @Query(TIME) timelineTimeType: String
+ ): ResponseTimelinesDto
+
+ @GET("$API/$VERSION/$DATES/$NEAREST")
+ suspend fun getNearestTimeline(): ResponseNearestTimelineDto
+
+ @POST("$API/$VERSION/$DATES")
+ suspend fun postTimeline(
+ @Body requestTimelineDto: RequestTimelineDto
+ ): ResponseEnrollTimelineDto
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt
new file mode 100644
index 000000000..cb2522575
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt
@@ -0,0 +1,32 @@
+package org.sopt.teamdateroad.data.dataremote.service
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE_ID
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.MAIN
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.POINTS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION
+import retrofit2.http.Body
+import retrofit2.http.GET
+import retrofit2.http.POST
+import retrofit2.http.Path
+
+interface UserPointService {
+ @GET("$API/$VERSION/$USERS/$MAIN")
+ suspend fun getUserPoint(): ResponseUserPointDto
+
+ @GET("$API/$VERSION/$POINTS")
+ suspend fun getPointHistory(): ResponsePointHistoryDto
+
+ @POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$DATE_ACCESS")
+ suspend fun postUsePoint(
+ @Path(COURSE_ID) courseId: Int,
+ @Body requestUsePointDto: RequestUsePointDto
+ ): ResponseUserUsePointDto
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt
index f9dc93ad5..5e2f2270b 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.util
+package org.sopt.teamdateroad.data.dataremote.util
object ApiConstraints {
const val PROFILE_FORM_DATA_IMAGE = "image"
@@ -38,21 +38,13 @@ object ApiConstraints {
const val TIME = "time"
const val NEAREST = "nearest"
const val IS_DEFAULT_IMAGE = "isDefaultImage"
+ const val DELETE_METHOD = "DELETE"
}
object Cost {
const val COST = "원"
}
-object Duration {
- const val DURATION = "시간"
-}
-
-object Like {
- const val LIKE_MAX = "999+"
- const val THRESHOLD = 999
-}
-
object Date {
const val INPUT_FORMAT = "yyyy.MM.dd"
const val COURSE_DETAIL_OUTPUT_FORMAT = "yyyy년 M월 d일 방문"
@@ -65,23 +57,21 @@ object Date {
const val ADVERTISEMENT_DETAIL_OUTPUT_FORMAT = "yyyy년 M월 d일"
}
+object Duration {
+ const val DURATION = "시간"
+}
+
+object Like {
+ const val LIKE_MAX = "999+"
+ const val THRESHOLD = 999
+}
+
object Point {
const val POINT = " P"
const val GAINED = "+"
const val USED = "-"
}
-object Month {
- const val JANUARY = "January"
- const val FEBRUARY = "February"
- const val MARCH = "March"
- const val APRIL = "April"
- const val MAY = "May"
- const val JUNE = "June"
- const val JULY = "July"
- const val AUGUST = "August"
- const val SEPTEMBER = "September"
- const val OCTOBER = "October"
- const val NOVEMBER = "November"
- const val DECEMBER = "December"
+object TotalCostZero {
+ const val ZERO_COST = "무지출"
}
diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt
index 8410e04ee..5333f4112 100644
--- a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.dataremote.util
+package org.sopt.teamdateroad.data.dataremote.util
import android.content.ContentResolver
import android.net.Uri
@@ -33,7 +33,7 @@ class ContentUriRequestBody(
}
}
- fun getFileName() = fileName
+ private fun getFileName() = fileName
override fun contentLength(): Long = size
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt
new file mode 100644
index 000000000..47741b492
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt
@@ -0,0 +1,23 @@
+package org.sopt.teamdateroad.data.mapper.toEntity
+
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType
+
+fun Any?.toAreaTitle(): String = when (this) {
+ is SeoulAreaType -> this.title
+ is GyeonggiAreaType -> this.title
+ is IncheonAreaType -> this.title
+ else -> ""
+}
+
+fun String.fromTitleToAreaType(): Any? =
+ when {
+ this.fromTitleToSeoulAreaType() != null -> this.fromTitleToSeoulAreaType()
+ this.fromTitleToGyeonggiAreaType() != null -> this.fromTitleToGyeonggiAreaType()
+ this.fromTitleToIncheonAreaType() != null -> this.fromTitleToIncheonAreaType()
+ else -> this
+ }
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt
new file mode 100644
index 000000000..2ef10da3f
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt
@@ -0,0 +1,12 @@
+package org.sopt.teamdateroad.data.mapper.toEntity
+
+import java.text.NumberFormat
+import java.util.Locale
+import org.sopt.teamdateroad.data.dataremote.util.Cost
+import org.sopt.teamdateroad.data.dataremote.util.TotalCostZero.ZERO_COST
+
+fun Int.toCost(): String = if (this == 0) {
+ ZERO_COST
+} else {
+ NumberFormat.getNumberInstance(Locale.KOREA).format(this) + Cost.COST
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt
similarity index 59%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt
index 6e9b5e2f9..a79972539 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.data.mapper.toEntity
+package org.sopt.teamdateroad.data.mapper.toEntity
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.model.Enroll
fun CourseDetail.toEnroll() = Enroll(
title = this.title,
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt
new file mode 100644
index 000000000..87bd53f9e
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.toEntity
+
+import org.sopt.teamdateroad.data.dataremote.util.Duration
+
+fun Float.toDuration(): String = if (this % 1.0 == 0.0) {
+ "%.0f".format(this)
+} else {
+ "%.1f".format(this)
+} + Duration.DURATION
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt
similarity index 50%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt
index cbff53cba..3d6cc5fb4 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.data.mapper.toEntity
+package org.sopt.teamdateroad.data.mapper.toEntity
-import org.sopt.dateroad.data.dataremote.util.Like
+import org.sopt.teamdateroad.data.dataremote.util.Like
fun Int.toLike(): String = when {
this < Like.THRESHOLD -> this.toString()
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt
index 89082d366..71c3db3ea 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.data.mapper.toEntity
+package org.sopt.teamdateroad.data.mapper.toEntity
-import org.sopt.dateroad.data.dataremote.util.Point
+import org.sopt.teamdateroad.data.dataremote.util.Point
fun Int.toPoint(): String = this.toString() + Point.POINT
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt
new file mode 100644
index 000000000..709052f66
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt
@@ -0,0 +1,16 @@
+package org.sopt.teamdateroad.data.mapper.toEntity
+
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType
+
+fun String.toRegionType(): RegionType? = when {
+ this.fromTitleToSeoulAreaType() != null -> RegionType.SEOUL
+
+ this.fromTitleToGyeonggiAreaType() != null -> RegionType.GYEONGGI
+
+ this.fromTitleToIncheonAreaType() != null -> RegionType.INCHEON
+
+ else -> null
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt
index 87ddadabf..3cc4e5b8b 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.data.mapper.toEntity
+package org.sopt.teamdateroad.data.mapper.toEntity
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.TimelineDetail
fun TimelineDetail.toEnroll() = Enroll(
title = this.title,
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt
index 2f45b9218..6ada6d3dd 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt
@@ -1,30 +1,28 @@
-package org.sopt.dateroad.data.mapper.toEntity
+package org.sopt.teamdateroad.data.mapper.toEntity
import java.text.SimpleDateFormat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Locale
-import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto
-import org.sopt.dateroad.data.dataremote.util.Date
-import org.sopt.dateroad.domain.type.MonthType
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto
+import org.sopt.teamdateroad.data.dataremote.util.Date
+import org.sopt.teamdateroad.domain.type.MonthType
-fun String.toCourseDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.COURSE_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: ""
+fun String.toCourseDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.COURSE_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty()
-fun String.toBasicDates(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.DATE_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: ""
-
-fun String.fromCourseDetailToEnrollDate(): String = LocalDate.parse(this, DateTimeFormatter.ofPattern(Date.COURSE_DETAIL_OUTPUT_FORMAT)).format(DateTimeFormatter.ofPattern(Date.INPUT_FORMAT))
+fun String.toBasicDates(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.DATE_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty()
fun String.fromDateToEnrollDate(): String = LocalDate.parse(this, DateTimeFormatter.ofPattern(Date.DATE_OUTPUT_FORMAT)).format(DateTimeFormatter.ofPattern(Date.INPUT_FORMAT))
fun Int.toDDayString(): String = when {
- this > 0 -> "${Date.D_DAY_OUTPUT_FORMAT}$this"
+ this > 0 -> Date.D_DAY_OUTPUT_FORMAT + this
this == 0 -> Date.D_DAY_DEFAULT_LABEL
else -> ""
}
-fun String.toStartAtString(): String = "$this${Date.NEAREST_DATE_START_OUTPUT_FORMAT}"
+fun String.toStartAtString(): String = this + Date.NEAREST_DATE_START_OUTPUT_FORMAT
-fun String.toAdvertisementDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.ADVERTISEMENT_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: ""
+fun String.toAdvertisementDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.ADVERTISEMENT_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty()
fun ResponseNearestTimelineDto.toFormattedDate(): String = String.format(Date.MAIN_DATE_OUTPUT_FORMAT, this.month, this.day)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt
index 5ff7ff0b7..e5577fe13 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.data.mapper.todata
+package org.sopt.teamdateroad.data.mapper.todata
-import org.sopt.dateroad.data.dataremote.model.request.RequestCourseDto
-import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto
-import org.sopt.dateroad.data.mapper.toEntity.toAreaTitle
-import org.sopt.dateroad.domain.model.Enroll
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestCourseDto
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toAreaTitle
+import org.sopt.teamdateroad.domain.model.Enroll
fun Enroll.toTimelineData(): RequestTimelineDto = RequestTimelineDto(
title = this.title,
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt
new file mode 100644
index 000000000..01b76352b
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt
@@ -0,0 +1,11 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestPlaceDto
+import org.sopt.teamdateroad.data.dataremote.util.Duration.DURATION
+import org.sopt.teamdateroad.domain.model.Place
+
+fun Place.toData(sequence: Int): RequestPlaceDto = RequestPlaceDto(
+ sequence = sequence,
+ title = this.title,
+ duration = duration.substringBefore(DURATION).toFloat()
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt
new file mode 100644
index 000000000..d8a550ec4
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.model.Profile
+
+fun Profile.toEditProfile(): EditProfile = EditProfile(
+ name = this.name,
+ tags = this.tag,
+ image = this.imageUrl
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt
new file mode 100644
index 000000000..f0d88a3b1
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt
@@ -0,0 +1,8 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto
+import org.sopt.teamdateroad.domain.model.SignIn
+
+fun SignIn.toData(): RequestSignInDto = RequestSignInDto(
+ platform = this.platform
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt
new file mode 100644
index 000000000..81bc2e253
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt
@@ -0,0 +1,5 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTagDto
+
+fun String.toData() = RequestTagDto(tag = this)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt
new file mode 100644
index 000000000..c874a739b
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt
@@ -0,0 +1,7 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestTagsDto
+
+fun List.toData(): RequestTagsDto = RequestTagsDto(
+ tag = this
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt
new file mode 100644
index 000000000..cf08c72f0
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto
+import org.sopt.teamdateroad.domain.model.UsePoint
+
+fun UsePoint.toData(): RequestUsePointDto = RequestUsePointDto(
+ point = this.point,
+ type = this.type,
+ description = this.description
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt
new file mode 100644
index 000000000..7773d792a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.todata
+
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestUserSignUpInfoDto
+import org.sopt.teamdateroad.domain.model.UserSignUpInfo
+
+fun UserSignUpInfo.toData(): RequestUserSignUpInfoDto = RequestUserSignUpInfoDto(
+ name = this.name,
+ platform = this.platform
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt
similarity index 53%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt
index a0822e48d..02c50ef15 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
-import org.sopt.dateroad.data.mapper.toEntity.toAdvertisementDetailDate
-import org.sopt.dateroad.domain.model.AdvertisementDetail
-import org.sopt.dateroad.domain.type.AdvertisementTagType.Companion.toAdvertisementTagTitle
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toAdvertisementDetailDate
+import org.sopt.teamdateroad.domain.model.AdvertisementDetail
+import org.sopt.teamdateroad.domain.type.AdvertisementTagType.Companion.toAdvertisementTagTitle
fun ResponseAdvertisementDetailDto.toDomain(): AdvertisementDetail = AdvertisementDetail(
images = this.images.sortedBy { responseImageDto -> responseImageDto.sequence }.map { responseImageDto -> responseImageDto.imageUrl },
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt
new file mode 100644
index 000000000..84eac532c
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDto
+import org.sopt.teamdateroad.domain.model.Advertisement
+
+fun ResponseAdvertisementDto.toDomain(): Advertisement = Advertisement(
+ advertisementId = this.advertisementId,
+ thumbnail = this.thumbnail
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt
new file mode 100644
index 000000000..822892f80
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt
@@ -0,0 +1,6 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto
+import org.sopt.teamdateroad.domain.model.Advertisement
+
+fun ResponseAdvertisementsDto.toDomain(): List = this.advertisements.map { responseAdvertisementDto -> responseAdvertisementDto.toDomain() }
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt
new file mode 100644
index 000000000..9e9428404
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto
+import org.sopt.teamdateroad.domain.model.Auth
+
+fun ResponseAuthDto.toDomain(): Auth = Auth(
+ accessToken = this.accessToken,
+ refreshToken = this.refreshToken
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt
index 0563ead39..88c78f96a 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto
-import org.sopt.dateroad.data.mapper.toEntity.toCost
-import org.sopt.dateroad.data.mapper.toEntity.toCourseDetailDate
-import org.sopt.dateroad.data.mapper.toEntity.toDuration
-import org.sopt.dateroad.data.mapper.toEntity.toStartAtString
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.type.MoneyTagType.Companion.toCostTagTitle
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toCost
+import org.sopt.teamdateroad.data.mapper.toEntity.toCourseDetailDate
+import org.sopt.teamdateroad.data.mapper.toEntity.toDuration
+import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.type.MoneyTagType.Companion.toCostTagTitle
fun ResponseCourseDetailDto.toDomain(): CourseDetail = CourseDetail(
courseId = this.courseId,
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt
new file mode 100644
index 000000000..cf983d78e
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt
@@ -0,0 +1,17 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toDuration
+import org.sopt.teamdateroad.data.mapper.toEntity.toLike
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.type.MoneyTagType.Companion.toCostTagTitle
+
+fun ResponseCourseDto.toDomain(): Course = Course(
+ courseId = this.courseId,
+ thumbnail = this.thumbnail,
+ title = this.title,
+ city = this.city,
+ cost = this.cost.toCostTagTitle(),
+ duration = this.duration.toDuration(),
+ like = this.like.toLike()
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt
new file mode 100644
index 000000000..7eb532bbf
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt
@@ -0,0 +1,6 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto
+import org.sopt.teamdateroad.domain.model.Course
+
+fun ResponseCoursesDto.toDomain(): List = this.courses.map { course -> course.toDomain() }
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt
new file mode 100644
index 000000000..f56595eee
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto
+import org.sopt.teamdateroad.domain.model.EnrollCourseResult
+
+fun ResponseEnrollCourseDto.toDomain(): EnrollCourseResult = EnrollCourseResult(
+ userPoint = this.userPoint,
+ userCourseCount = this.userCourseCount
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt
new file mode 100644
index 000000000..48a9cdc13
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt
@@ -0,0 +1,8 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto
+import org.sopt.teamdateroad.domain.model.EnrollTimelineResult
+
+fun ResponseEnrollTimelineDto.toDomain(): EnrollTimelineResult = EnrollTimelineResult(
+ dateScheduleNum = this.dateScheduleNum
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt
new file mode 100644
index 000000000..f4c35f266
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt
@@ -0,0 +1,15 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString
+import org.sopt.teamdateroad.data.mapper.toEntity.toFormattedDate
+import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+
+fun ResponseNearestTimelineDto.toDomain(): NearestTimeline = NearestTimeline(
+ timelineId = this.timelineId,
+ dDay = this.dDay.toDDayString(),
+ dateName = this.dateName,
+ date = toFormattedDate(),
+ startAt = this.startAt.toStartAtString()
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt
new file mode 100644
index 000000000..5f4bac9da
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePlaceDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toDuration
+import org.sopt.teamdateroad.domain.model.Place
+
+fun ResponsePlaceDto.toDomain() = Place(
+ title = this.title,
+ duration = this.duration.toDuration()
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt
similarity index 51%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt
index e074ef98e..b3bc6f228 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointDto
-import org.sopt.dateroad.data.mapper.toEntity.toGainedPoint
-import org.sopt.dateroad.data.mapper.toEntity.toUsedPoint
-import org.sopt.dateroad.domain.model.Point
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toGainedPoint
+import org.sopt.teamdateroad.data.mapper.toEntity.toUsedPoint
+import org.sopt.teamdateroad.domain.model.Point
fun ResponsePointDto.toGainedPointDomain() = Point(
point = this.point.toGainedPoint(),
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt
new file mode 100644
index 000000000..72c82281b
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto
+import org.sopt.teamdateroad.domain.model.PointHistory
+
+fun ResponsePointHistoryDto.toDomain(): PointHistory = PointHistory(
+ gained = this.gained.toGainedPointDomain(),
+ used = this.used.toUsedPointDomain()
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt
similarity index 61%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt
index 50dcb1f10..43e8ca1a1 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponsePointsDto
-import org.sopt.dateroad.domain.model.Point
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointsDto
+import org.sopt.teamdateroad.domain.model.Point
fun ResponsePointsDto.toGainedPointDomain(): List = this.points.map { responsePointDto ->
responsePointDto.toGainedPointDomain()
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt
new file mode 100644
index 000000000..633d97a70
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt
@@ -0,0 +1,12 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toPoint
+import org.sopt.teamdateroad.domain.model.Profile
+
+fun ResponseProfileDto.toDomain(): Profile = Profile(
+ name = this.name,
+ tag = this.tags,
+ point = this.point.toPoint(),
+ imageUrl = this.imageUrl
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt
new file mode 100644
index 000000000..38455dc54
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt
@@ -0,0 +1,6 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTagDto
+import org.sopt.teamdateroad.presentation.type.DateTagType
+
+fun ResponseTagDto.toDomain(): DateTagType = DateTagType.valueOf(this.tag)
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt
similarity index 53%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt
index 65fe05a1e..cbb52b6c4 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto
-import org.sopt.dateroad.data.mapper.toEntity.toBasicDates
-import org.sopt.dateroad.data.mapper.toEntity.toDDayString
-import org.sopt.dateroad.data.mapper.toEntity.toStartAtString
-import org.sopt.dateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toBasicDates
+import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString
+import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString
+import org.sopt.teamdateroad.domain.model.TimelineDetail
fun ResponseTimelineDetailDto.toDomain(): TimelineDetail = TimelineDetail(
timelineId = this.timelineId,
diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt
similarity index 59%
rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt
index 2835a0aee..95f9c7faa 100644
--- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.data.mapper.todomain
+package org.sopt.teamdateroad.data.mapper.todomain
-import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDto
-import org.sopt.dateroad.data.mapper.toEntity.toBasicDates
-import org.sopt.dateroad.data.mapper.toEntity.toDDayString
-import org.sopt.dateroad.data.mapper.toEntity.toFormattedDate
-import org.sopt.dateroad.domain.model.Timeline
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toBasicDates
+import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString
+import org.sopt.teamdateroad.data.mapper.toEntity.toFormattedDate
+import org.sopt.teamdateroad.domain.model.Timeline
fun ResponseTimelineDto.toFutureTimelineDomain(): Timeline = Timeline(
timelineId = this.timelineId,
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt
new file mode 100644
index 000000000..b7d7c598f
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt
@@ -0,0 +1,11 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto
+import org.sopt.teamdateroad.data.mapper.toEntity.toPoint
+import org.sopt.teamdateroad.domain.model.UserPoint
+
+fun ResponseUserPointDto.toDomain(): UserPoint = UserPoint(
+ name = this.name,
+ point = this.point.toPoint(),
+ imageUrl = this.image
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt
new file mode 100644
index 000000000..86a10170a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt
@@ -0,0 +1,10 @@
+package org.sopt.teamdateroad.data.mapper.todomain
+
+import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto
+import org.sopt.teamdateroad.domain.model.PointUseResult
+
+fun ResponseUserUsePointDto.toDomain(): PointUseResult = PointUseResult(
+ userPoint = this.userPoint,
+ userFreeRemained = this.userFreeRemained,
+ userPurchaseCount = this.userPurchaseCount
+)
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt
similarity index 60%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt
index f938425b5..3049d202e 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.Advertisement
-import org.sopt.dateroad.domain.model.AdvertisementDetail
-import org.sopt.dateroad.domain.repository.AdvertisementRepository
+import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.Advertisement
+import org.sopt.teamdateroad.domain.model.AdvertisementDetail
+import org.sopt.teamdateroad.domain.repository.AdvertisementRepository
class AdvertisementRepositoryImpl @Inject constructor(
private val advertisementRemoteDataSource: AdvertisementRemoteDataSource
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt
index 97bc64d0b..297a49812 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import android.content.ContentResolver
import android.net.Uri
@@ -7,19 +7,19 @@ import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody
-import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource
-import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.APPLICATION_JSON
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.HTTPS
-import org.sopt.dateroad.data.dataremote.util.ApiConstraints.PROFILE_FORM_DATA_IMAGE
-import org.sopt.dateroad.data.dataremote.util.ContentUriRequestBody
-import org.sopt.dateroad.data.mapper.todata.toData
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.Auth
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.model.SignIn
-import org.sopt.dateroad.domain.model.SignUp
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.APPLICATION_JSON
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.HTTPS
+import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.PROFILE_FORM_DATA_IMAGE
+import org.sopt.teamdateroad.data.dataremote.util.ContentUriRequestBody
+import org.sopt.teamdateroad.data.mapper.todata.toData
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.Auth
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.model.SignIn
+import org.sopt.teamdateroad.domain.model.SignUp
+import org.sopt.teamdateroad.domain.repository.AuthRepository
class AuthRepositoryImpl @Inject constructor(
private val contentResolver: ContentResolver,
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt
index 18946243b..53063c050 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import android.content.ContentResolver
import android.net.Uri
@@ -7,21 +7,22 @@ import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody
-import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource
-import org.sopt.dateroad.data.dataremote.util.ContentUriRequestBody
-import org.sopt.dateroad.data.mapper.todata.toCourseData
-import org.sopt.dateroad.data.mapper.todata.toData
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.repository.CourseRepository
-import org.sopt.dateroad.domain.type.GyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.type.SeoulAreaType
-import org.sopt.dateroad.domain.type.SortByType
+import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.util.ContentUriRequestBody
+import org.sopt.teamdateroad.data.mapper.todata.toCourseData
+import org.sopt.teamdateroad.data.mapper.todata.toData
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollCourseResult
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType
+import org.sopt.teamdateroad.domain.type.SortByType
class CourseRepositoryImpl @Inject constructor(
private val contentResolver: ContentResolver,
@@ -58,16 +59,20 @@ class CourseRepositoryImpl @Inject constructor(
courseRemoteDataSource.getSortedCourses(sortBy = sortedBy.name).toDomain()
}
- override suspend fun postCourse(enroll: Enroll): Result = runCatching {
+ override suspend fun postCourse(enroll: Enroll): Result = runCatching {
courseRemoteDataSource.postCourse(
images = enroll.images.map { image -> ContentUriRequestBody(contentResolver = contentResolver, uri = Uri.parse(image)).toFormData() },
- course = Json.encodeToString(enroll.toCourseData()).toRequestBody("application/json".toMediaType()),
- places = Json.encodeToString(enroll.places.mapIndexed { index, place -> place.toData(sequence = index + 1) }).toRequestBody("application/json".toMediaType()),
- tags = Json.encodeToString(enroll.tags.map { tag -> tag.toData() }).toRequestBody("application/json".toMediaType())
- )
+ course = Json.encodeToString(enroll.toCourseData()).toRequestBody(APPLICATION_JSON.toMediaType()),
+ places = Json.encodeToString(enroll.places.mapIndexed { index, place -> place.toData(sequence = index + 1) }).toRequestBody(APPLICATION_JSON.toMediaType()),
+ tags = Json.encodeToString(enroll.tags.map { tag -> tag.toData() }).toRequestBody(APPLICATION_JSON.toMediaType())
+ ).toDomain()
}
override suspend fun postCourseLike(courseId: Int): Result = runCatching {
courseRemoteDataSource.postCourseLike(courseId = courseId)
}
+
+ companion object {
+ const val APPLICATION_JSON = "application/json"
+ }
}
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt
similarity index 60%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt
index 638dc178b..4eb472f65 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.repository.MyCourseRepository
+import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.repository.MyCourseRepository
class MyCourseRepositoryImpl @Inject constructor(
private val myCourseRemoteDataSource: MyCourseRemoteDataSource
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt
new file mode 100644
index 000000000..a1643bbdf
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt
@@ -0,0 +1,16 @@
+
+package org.sopt.teamdateroad.data.repositoryimpl
+
+import javax.inject.Inject
+import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.Profile
+import org.sopt.teamdateroad.domain.repository.ProfileRepository
+
+class ProfileRepositoryImpl @Inject constructor(
+ private val profileDataSource: ProfileRemoteDataSource
+) : ProfileRepository {
+ override suspend fun getUsers(): Result = runCatching {
+ profileDataSource.getProfile().toDomain()
+ }
+}
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt
similarity index 51%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt
index 5d9e1452d..0d7809150 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt
@@ -1,22 +1,23 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource
-import org.sopt.dateroad.data.mapper.todata.toTimelineData
-import org.sopt.dateroad.data.mapper.todomain.toDomain
-import org.sopt.dateroad.data.mapper.todomain.toFutureTimelineDomain
-import org.sopt.dateroad.data.mapper.todomain.toPastTimelineDomain
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.domain.repository.TimelineRepository
-import org.sopt.dateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource
+import org.sopt.teamdateroad.data.mapper.todata.toTimelineData
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.data.mapper.todomain.toFutureTimelineDomain
+import org.sopt.teamdateroad.data.mapper.todomain.toPastTimelineDomain
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollTimelineResult
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
class TimelineRepositoryImpl @Inject constructor(
private val timelineRemoteDataSource: TimelineRemoteDataSource
) : TimelineRepository {
- override suspend fun deleteTimeline(timelineId: Int) {
+ override suspend fun deleteTimeline(timelineId: Int) = runCatching {
timelineRemoteDataSource.deleteTimeline(timelineId)
}
@@ -37,7 +38,7 @@ class TimelineRepositoryImpl @Inject constructor(
timelineRemoteDataSource.getNearestTimeline().toDomain()
}
- override suspend fun postTimeline(enroll: Enroll) = runCatching {
- timelineRemoteDataSource.postTimeline(requestTimelineDto = enroll.toTimelineData())
+ override suspend fun postTimeline(enroll: Enroll): Result = runCatching {
+ timelineRemoteDataSource.postTimeline(requestTimelineDto = enroll.toTimelineData()).toDomain()
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt
rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt
index 0ea6797cb..324249101 100644
--- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.data.repositoryimpl
+package org.sopt.teamdateroad.data.repositoryimpl
import javax.inject.Inject
-import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
class UserInfoRepositoryImpl @Inject constructor(
private val userInfoLocalDataSource: UserInfoLocalDataSource
diff --git a/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt
new file mode 100644
index 000000000..f6ddaa85a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt
@@ -0,0 +1,27 @@
+package org.sopt.teamdateroad.data.repositoryimpl
+
+import javax.inject.Inject
+import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource
+import org.sopt.teamdateroad.data.mapper.todata.toData
+import org.sopt.teamdateroad.data.mapper.todomain.toDomain
+import org.sopt.teamdateroad.domain.model.PointHistory
+import org.sopt.teamdateroad.domain.model.PointUseResult
+import org.sopt.teamdateroad.domain.model.UsePoint
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.domain.repository.UserPointRepository
+
+class UserPointRepositoryImpl @Inject constructor(
+ private val userPointRemoteDataSource: UserPointRemoteDataSource
+) : UserPointRepository {
+ override suspend fun getUserPoint(): Result = runCatching {
+ userPointRemoteDataSource.getUserPoint().toDomain()
+ }
+
+ override suspend fun getPointHistory(): Result = runCatching {
+ userPointRemoteDataSource.getPointHistory().toDomain()
+ }
+
+ override suspend fun postUsePoint(courseId: Int, usePoint: UsePoint): Result = runCatching {
+ userPointRemoteDataSource.postUsePoint(courseId = courseId, requestUsePointDto = usePoint.toData()).toDomain()
+ }
+}
diff --git a/app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt
rename to app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt
index db59fd779..50a8bdd79 100644
--- a/app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.di
+package org.sopt.teamdateroad.di
import android.content.ContentResolver
import android.content.Context
diff --git a/app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt
similarity index 53%
rename from app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt
rename to app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt
index f8aba0fb9..072b5b67c 100644
--- a/app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt
@@ -1,26 +1,26 @@
-package org.sopt.dateroad.di
+package org.sopt.teamdateroad.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
-import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource
-import org.sopt.dateroad.data.datalocal.datasourceimpl.UserInfoLocalDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource
-import org.sopt.dateroad.data.dataremote.datasourceimpl.AdvertisementRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.AuthRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.CourseRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.MyCourseRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.ProfileRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.TimelineRemoteDataSourceImpl
-import org.sopt.dateroad.data.dataremote.datasourceimpl.UserPointRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource
+import org.sopt.teamdateroad.data.datalocal.datasourceimpl.UserInfoLocalDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.AdvertisementRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.AuthRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.CourseRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.MyCourseRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.ProfileRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.TimelineRemoteDataSourceImpl
+import org.sopt.teamdateroad.data.dataremote.datasourceimpl.UserPointRemoteDataSourceImpl
@Module
@InstallIn(SingletonComponent::class)
@@ -43,17 +43,17 @@ abstract class DataSourceModule {
@Binds
@Singleton
- abstract fun bindTimelineRemoteDataSource(timelineRemoteDataSourceImpl: TimelineRemoteDataSourceImpl): TimelineRemoteDataSource
+ abstract fun bindsMyCourseRemoteDataSource(myCourseRemoteDataSourceImpl: MyCourseRemoteDataSourceImpl): MyCourseRemoteDataSource
@Binds
@Singleton
- abstract fun bindsMyCourseRemoteDataSource(myCourseRemoteDataSourceImpl: MyCourseRemoteDataSourceImpl): MyCourseRemoteDataSource
+ abstract fun bindsProfileDataSource(profileDataSourceImpl: ProfileRemoteDataSourceImpl): ProfileRemoteDataSource
@Binds
@Singleton
- abstract fun bindsUserPointRemoteDataSource(userPointRemoteDataSourceImpl: UserPointRemoteDataSourceImpl): UserPointRemoteDataSource
+ abstract fun bindTimelineRemoteDataSource(timelineRemoteDataSourceImpl: TimelineRemoteDataSourceImpl): TimelineRemoteDataSource
@Binds
@Singleton
- abstract fun bindsProfileDataSource(profileDataSourceImpl: ProfileRemoteDataSourceImpl): ProfileRemoteDataSource
+ abstract fun bindsUserPointRemoteDataSource(userPointRemoteDataSourceImpl: UserPointRemoteDataSourceImpl): UserPointRemoteDataSource
}
diff --git a/app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt
rename to app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt
index 9c73fd052..e2639802e 100644
--- a/app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.di
+package org.sopt.teamdateroad.di
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
import dagger.Module
@@ -13,11 +13,11 @@ import okhttp3.Interceptor
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
-import org.sopt.dateroad.BuildConfig
-import org.sopt.dateroad.BuildConfig.DEBUG
-import org.sopt.dateroad.data.dataremote.interceptor.AuthInterceptor
-import org.sopt.dateroad.di.qualifier.Auth
-import org.sopt.dateroad.di.qualifier.DateRoad
+import org.sopt.teamdateroad.BuildConfig
+import org.sopt.teamdateroad.BuildConfig.DEBUG
+import org.sopt.teamdateroad.data.dataremote.interceptor.AuthInterceptor
+import org.sopt.teamdateroad.di.qualifier.Auth
+import org.sopt.teamdateroad.di.qualifier.DateRoad
import retrofit2.Retrofit
@Module
diff --git a/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt
new file mode 100644
index 000000000..7a35d9cd4
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt
@@ -0,0 +1,59 @@
+package org.sopt.teamdateroad.di
+
+import dagger.Binds
+import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+import org.sopt.teamdateroad.data.repositoryimpl.AdvertisementRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.AuthRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.CourseRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.MyCourseRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.ProfileRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.TimelineRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.UserInfoRepositoryImpl
+import org.sopt.teamdateroad.data.repositoryimpl.UserPointRepositoryImpl
+import org.sopt.teamdateroad.domain.repository.AdvertisementRepository
+import org.sopt.teamdateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.repository.MyCourseRepository
+import org.sopt.teamdateroad.domain.repository.ProfileRepository
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserPointRepository
+
+@Module
+@InstallIn(SingletonComponent::class)
+abstract class RepositoryModule {
+ @Binds
+ @Singleton
+ abstract fun bindsAdvertisementRepository(advertisementRepositoryImpl: AdvertisementRepositoryImpl): AdvertisementRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindAuthRepository(authRepositoryImpl: AuthRepositoryImpl): AuthRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsCourseRepository(courseRepositoryImpl: CourseRepositoryImpl): CourseRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsMyCourseRepository(myCourseRepositoryImpl: MyCourseRepositoryImpl): MyCourseRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsProfileRepository(profileRepositoryImpl: ProfileRepositoryImpl): ProfileRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsTimelineRepository(timelineRepositoryImpl: TimelineRepositoryImpl): TimelineRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsUserInfoRepository(userInfoRepositoryImpl: UserInfoRepositoryImpl): UserInfoRepository
+
+ @Binds
+ @Singleton
+ abstract fun bindsUserPointRepository(userPointRepositoryImpl: UserPointRepositoryImpl): UserPointRepository
+}
diff --git a/app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt
rename to app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt
index 7fe17c0fd..5af0fafce 100644
--- a/app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt
@@ -1,20 +1,17 @@
-package org.sopt.dateroad.di
+package org.sopt.teamdateroad.di
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
-import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource
-import org.sopt.dateroad.data.dataremote.service.AdvertisementService
-import org.sopt.dateroad.data.dataremote.service.AuthService
-import org.sopt.dateroad.data.dataremote.service.CourseService
-import org.sopt.dateroad.data.dataremote.service.MyCourseService
-import org.sopt.dateroad.data.dataremote.service.ProfileService
-import org.sopt.dateroad.data.dataremote.service.TimelineService
-import org.sopt.dateroad.data.dataremote.service.UserPointService
-import org.sopt.dateroad.data.repositoryimpl.UserInfoRepositoryImpl
-import org.sopt.dateroad.di.qualifier.DateRoad
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.data.dataremote.service.AdvertisementService
+import org.sopt.teamdateroad.data.dataremote.service.AuthService
+import org.sopt.teamdateroad.data.dataremote.service.CourseService
+import org.sopt.teamdateroad.data.dataremote.service.MyCourseService
+import org.sopt.teamdateroad.data.dataremote.service.ProfileService
+import org.sopt.teamdateroad.data.dataremote.service.TimelineService
+import org.sopt.teamdateroad.data.dataremote.service.UserPointService
+import org.sopt.teamdateroad.di.qualifier.DateRoad
import retrofit2.Retrofit
@Module
@@ -32,23 +29,19 @@ object ServiceModule {
fun providesCourseService(@DateRoad retrofit: Retrofit): CourseService =
retrofit.create(CourseService::class.java)
- @Provides
- fun provideTimelineService(@DateRoad retrofit: Retrofit): TimelineService =
- retrofit.create(TimelineService::class.java)
-
@Provides
fun providesMyCourseService(@DateRoad retrofit: Retrofit): MyCourseService =
retrofit.create(MyCourseService::class.java)
@Provides
- fun providesUserPointService(@DateRoad retrofit: Retrofit): UserPointService =
- retrofit.create(UserPointService::class.java)
+ fun providesProfileService(@DateRoad retrofit: Retrofit): ProfileService =
+ retrofit.create(ProfileService::class.java)
@Provides
- fun provideUserInfoRepository(userInfoLocalDataSource: UserInfoLocalDataSource): UserInfoRepository =
- UserInfoRepositoryImpl(userInfoLocalDataSource)
+ fun provideTimelineService(@DateRoad retrofit: Retrofit): TimelineService =
+ retrofit.create(TimelineService::class.java)
@Provides
- fun providesProfileService(@DateRoad retrofit: Retrofit): ProfileService =
- retrofit.create(ProfileService::class.java)
+ fun providesUserPointService(@DateRoad retrofit: Retrofit): UserPointService =
+ retrofit.create(UserPointService::class.java)
}
diff --git a/app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt b/app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt
similarity index 70%
rename from app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt
rename to app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt
index 73672ec91..4a103a508 100644
--- a/app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.di.qualifier
+package org.sopt.teamdateroad.di.qualifier
import javax.inject.Qualifier
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt
similarity index 66%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt
index cde88ba38..04630b550 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Advertisement(
val advertisementId: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt
index 1f8c242a5..aa27c8692 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class AdvertisementDetail(
val images: List = listOf(),
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt
index c74b29279..b2fe3dc6f 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Auth(
val accessToken: String,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Course.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Course.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt
index 78cb95e62..9a763beda 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Course.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Course(
val courseId: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt
index 7cfcab67f..5cdd85aab 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class CourseDetail(
val courseId: Int = 0,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt
index 6a09be0f6..5efd99b1b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class EditProfile(
val name: String = "",
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt
index 5e71969dc..b42ccb294 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
-import org.sopt.dateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.RegionType
data class Enroll(
val images: List = listOf(),
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt
new file mode 100644
index 000000000..9b73225b8
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt
@@ -0,0 +1,6 @@
+package org.sopt.teamdateroad.domain.model
+
+data class EnrollCourseResult(
+ val userPoint: Int,
+ val userCourseCount: Long
+)
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt
new file mode 100644
index 000000000..1c8e602a7
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt
@@ -0,0 +1,5 @@
+package org.sopt.teamdateroad.domain.model
+
+data class EnrollTimelineResult(
+ val dateScheduleNum: Long
+)
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt
index a24bbd824..98e9918c7 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class NearestTimeline(
val timelineId: Int = 0,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Place.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Place.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt
index 1f956010d..60f8b9a06 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Place.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Place(
val title: String = "",
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Point.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt
similarity index 69%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Point.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt
index 1f6933969..1263b06e7 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Point.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Point(
val point: String,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt
similarity index 70%
rename from app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt
index ef7cb3f7c..3d2e6549a 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class PointHistory(
val gained: List = listOf(),
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt
new file mode 100644
index 000000000..07973cf8b
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt
@@ -0,0 +1,8 @@
+package org.sopt.teamdateroad.domain.model
+
+data class PointUseResult(
+ val userPoint: Int,
+ val userFreeRemained: Int,
+ val userPurchaseCount: Long
+
+)
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt
similarity index 77%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt
index 166056676..e51889305 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class Profile(
val name: String = "",
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt
similarity index 52%
rename from app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt
index a30dca249..3fd5246f0 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class SignIn(
val platform: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt
similarity index 77%
rename from app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt
index c2804fe6c..b61ea5b02 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class SignUp(
val userSignUpInfo: UserSignUpInfo = UserSignUpInfo(),
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt
similarity index 66%
rename from app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt
index 8ab1469a0..58d82557b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
-import org.sopt.dateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.DateTagType
data class Timeline(
val timelineId: Int = 0,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt
index a43e7e3c1..d55dd8495 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class TimelineDetail(
val timelineId: Int = 0,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt
similarity index 68%
rename from app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt
index 80562846c..be628637a 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class UsePoint(
val point: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt
similarity index 72%
rename from app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt
index b8adea83f..f9dbfc0cc 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class UserPoint(
val name: String = "",
diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt
similarity index 68%
rename from app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt
index d78a19561..c02db8d3a 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.model
+package org.sopt.teamdateroad.domain.model
data class UserSignUpInfo(
val name: String = "",
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt
similarity index 54%
rename from app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt
index 369bd0b17..83ce2096f 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.domain.repository
+package org.sopt.teamdateroad.domain.repository
-import org.sopt.dateroad.domain.model.Advertisement
-import org.sopt.dateroad.domain.model.AdvertisementDetail
+import org.sopt.teamdateroad.domain.model.Advertisement
+import org.sopt.teamdateroad.domain.model.AdvertisementDetail
interface AdvertisementRepository {
suspend fun getAdvertisementDetail(advertisementId: Int): Result
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt
similarity index 62%
rename from app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt
index 2be2cc4da..d009d9709 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.repository
+package org.sopt.teamdateroad.domain.repository
-import org.sopt.dateroad.domain.model.Auth
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.model.SignIn
-import org.sopt.dateroad.domain.model.SignUp
+import org.sopt.teamdateroad.domain.model.Auth
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.model.SignIn
+import org.sopt.teamdateroad.domain.model.SignUp
interface AuthRepository {
suspend fun deleteSignOut(): Result
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt
new file mode 100644
index 000000000..d86864bbf
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt
@@ -0,0 +1,25 @@
+package org.sopt.teamdateroad.domain.repository
+
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollCourseResult
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.SortByType
+
+interface CourseRepository {
+ suspend fun deleteCourse(courseId: Int): Result
+
+ suspend fun deleteCourseLike(courseId: Int): Result
+
+ suspend fun getCourseDetail(courseId: Int): Result
+
+ suspend fun getFilteredCourses(country: RegionType?, city: Any?, cost: MoneyTagType?): Result>
+
+ suspend fun getSortedCourses(sortedBy: SortByType): Result>
+
+ suspend fun postCourse(enroll: Enroll): Result
+
+ suspend fun postCourseLike(courseId: Int): Result
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt
similarity index 60%
rename from app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt
index cc6c62b9b..0ee8b96b3 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.repository
+package org.sopt.teamdateroad.domain.repository
-import org.sopt.dateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.model.Course
interface MyCourseRepository {
suspend fun getMyCourseEnroll(): Result>
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt
new file mode 100644
index 000000000..49557c9d4
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt
@@ -0,0 +1,7 @@
+package org.sopt.teamdateroad.domain.repository
+
+import org.sopt.teamdateroad.domain.model.Profile
+
+interface ProfileRepository {
+ suspend fun getUsers(): Result
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt
new file mode 100644
index 000000000..38e700e6f
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt
@@ -0,0 +1,20 @@
+package org.sopt.teamdateroad.domain.repository
+
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollTimelineResult
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
+
+interface TimelineRepository {
+ suspend fun deleteTimeline(timelineId: Int): Result
+
+ suspend fun getTimelineDetail(timelineId: Int): Result
+
+ suspend fun getTimelines(timelineTimeType: TimelineTimeType): Result>
+
+ suspend fun getNearestTimeline(): Result
+
+ suspend fun postTimeline(enroll: Enroll): Result
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt
index 9cbf7b8b1..b759c33e7 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt
@@ -1,11 +1,17 @@
-package org.sopt.dateroad.domain.repository
+package org.sopt.teamdateroad.domain.repository
interface UserInfoRepository {
fun setAccessToken(accessToken: String)
+
fun getAccessToken(): String
+
fun setRefreshToken(refreshToken: String)
+
fun getRefreshToken(): String
+
fun setNickname(nickname: String)
+
fun getNickname(): String
+
fun clear()
}
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt
new file mode 100644
index 000000000..b95e06975
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.domain.repository
+
+import org.sopt.teamdateroad.domain.model.PointHistory
+import org.sopt.teamdateroad.domain.model.PointUseResult
+import org.sopt.teamdateroad.domain.model.UsePoint
+import org.sopt.teamdateroad.domain.model.UserPoint
+
+interface UserPointRepository {
+ suspend fun getUserPoint(): Result
+
+ suspend fun getPointHistory(): Result
+
+ suspend fun postUsePoint(courseId: Int, usePoint: UsePoint): Result
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt
index c444bff04..fec93e23d 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Advertisement
+import org.sopt.teamdateroad.domain.util.Advertisement
enum class AdvertisementTagType(
val title: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt
index 8668ae3f5..2bf0b406c 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Gyeonggi
+import org.sopt.teamdateroad.domain.util.Gyeonggi
enum class GyeonggiAreaType(
val title: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt
index 1fb0a468a..f243dc694 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Incheon
+import org.sopt.teamdateroad.domain.util.Incheon
enum class IncheonAreaType(
val title: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt
index f812171a7..1e6d3c19b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Cost
+import org.sopt.teamdateroad.domain.util.Cost
enum class MoneyTagType(
val title: String,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt
index 44ce5ebce..0390d5d1d 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.data.dataremote.util.Month
+import org.sopt.teamdateroad.domain.util.Month
enum class MonthType(val title: String) {
JANUARY(title = Month.JANUARY),
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt
similarity index 69%
rename from app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt
index 17fcb5f1b..ba2d0530f 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Region
+import org.sopt.teamdateroad.domain.util.Region
enum class RegionType(
val title: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt
index c45000de2..37f7eb9a3 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
-import org.sopt.dateroad.domain.util.Seoul
+import org.sopt.teamdateroad.domain.util.Seoul
enum class SeoulAreaType(
val title: String
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt
similarity index 54%
rename from app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt
index 3915a46fe..4f87c7b27 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
enum class SortByType {
POPULAR,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt
similarity index 56%
rename from app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt
index cd901aae7..411790055 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.domain.type
+package org.sopt.teamdateroad.domain.type
enum class TimelineTimeType {
FUTURE,
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt
index df7c3e148..43162b580 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class ClearUserInfoUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt
similarity index 73%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt
index d2e3361d5..d8aa127c1 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.repository.CourseRepository
@Singleton
class DeleteCourseLikeUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt
similarity index 72%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt
index 6549d2bf5..84b061466 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.repository.CourseRepository
@Singleton
class DeleteCourseUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt
similarity index 70%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt
index 52080e688..3f28f6550 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class DeleteSignOutUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt
similarity index 57%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt
index a45704842..4128a4e39 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
@Singleton
class DeleteTimelineUseCase @Inject constructor(
private val timelineRepository: TimelineRepository
) {
- suspend operator fun invoke(timelineId: Int): Result = runCatching { timelineRepository.deleteTimeline(timelineId = timelineId) }
+ suspend operator fun invoke(timelineId: Int): Result = timelineRepository.deleteTimeline(timelineId = timelineId)
}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt
similarity index 72%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt
index 2681c713b..10837a7a8 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class DeleteWithdrawUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt
similarity index 68%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt
index 6b86d00be..d98bba2b7 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class GetAccessTokenUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt
index a0037af5b..6224f5b11 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.AdvertisementDetail
-import org.sopt.dateroad.domain.repository.AdvertisementRepository
+import org.sopt.teamdateroad.domain.model.AdvertisementDetail
+import org.sopt.teamdateroad.domain.repository.AdvertisementRepository
@Singleton
class GetAdvertisementDetailUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt
similarity index 64%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt
index 2c90e0732..59b34312f 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Advertisement
-import org.sopt.dateroad.domain.repository.AdvertisementRepository
+import org.sopt.teamdateroad.domain.model.Advertisement
+import org.sopt.teamdateroad.domain.repository.AdvertisementRepository
@Singleton
class GetAdvertisementsUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt
similarity index 71%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt
index afafc5015..4f89fc567 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.repository.CourseRepository
@Singleton
class GetCourseDetailUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt
index 520dcd3e0..36c421072 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.repository.CourseRepository
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
@Singleton
class GetFilteredCourses @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt
index 28b7bc99f..8d3a6a10b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.repository.MyCourseRepository
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.repository.MyCourseRepository
@Singleton
class GetMyCourseEnrollUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt
index 9d08a4402..feff904ed 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.repository.MyCourseRepository
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.repository.MyCourseRepository
@Singleton
class GetMyCourseReadUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt
similarity index 59%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt
index 1e2a4df28..a141ac94c 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
class GetNearestTimelineUseCase @Inject constructor(
private val timelineRepository: TimelineRepository
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt
similarity index 71%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt
index b83c58449..8f7d57088 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class GetNicknameCheckUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt
similarity index 68%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt
index 57809d2f7..27a35c18e 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class GetNicknameUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt
similarity index 62%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt
index 509d13bc6..4f1a87d1b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.PointHistory
-import org.sopt.dateroad.domain.repository.UserPointRepository
+import org.sopt.teamdateroad.domain.model.PointHistory
+import org.sopt.teamdateroad.domain.repository.UserPointRepository
@Singleton
class GetPointHistoryUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt
similarity index 68%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt
index 3a97408de..d72c5986b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class GetRefreshTokenUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt
similarity index 59%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt
index 6df3b1413..f0fb655f7 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.repository.CourseRepository
-import org.sopt.dateroad.domain.type.SortByType
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+import org.sopt.teamdateroad.domain.type.SortByType
@Singleton
class GetSortedCoursesUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt
similarity index 62%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt
index 24f8cf8bd..26c389c57 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
class GetTimelineDetailUseCase @Inject constructor(
private val timelineRepository: TimelineRepository
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt
similarity index 57%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt
index 7e4796225..6ad25025a 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.domain.repository.TimelineRepository
-import org.sopt.dateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
class GetTimelinesUseCase @Inject constructor(
private val timelineRepository: TimelineRepository
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt
index 36124f117..7898a847f 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.domain.repository.UserPointRepository
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.domain.repository.UserPointRepository
class GetUserPointUseCase @Inject constructor(
private val userPointRepository: UserPointRepository
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt
new file mode 100644
index 000000000..6fd64e85a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt
@@ -0,0 +1,13 @@
+package org.sopt.teamdateroad.domain.usecase
+
+import javax.inject.Inject
+import javax.inject.Singleton
+import org.sopt.teamdateroad.domain.model.Profile
+import org.sopt.teamdateroad.domain.repository.ProfileRepository
+
+@Singleton
+class GetUserUseCase @Inject constructor(
+ private val profileRepository: ProfileRepository
+) {
+ suspend operator fun invoke(): Result = profileRepository.getUsers()
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt
similarity index 50%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt
index 9f565bc02..fc520f899 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt
@@ -1,14 +1,13 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class PatchEditProfileUseCase @Inject constructor(
private val authRepository: AuthRepository
) {
- suspend operator fun invoke(editProfile: EditProfile): Result =
- authRepository.patchEditProfile(editProfile = editProfile)
+ suspend operator fun invoke(editProfile: EditProfile): Result = authRepository.patchEditProfile(editProfile = editProfile)
}
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt
new file mode 100644
index 000000000..23782a45e
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt
@@ -0,0 +1,12 @@
+package org.sopt.teamdateroad.domain.usecase
+
+import javax.inject.Inject
+import javax.inject.Singleton
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+
+@Singleton
+class PostCourseLikeUseCase @Inject constructor(
+ private val courseRepository: CourseRepository
+) {
+ suspend operator fun invoke(courseId: Int): Result = courseRepository.postCourseLike(courseId = courseId)
+}
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt
new file mode 100644
index 000000000..aa0d22ad2
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.domain.usecase
+
+import javax.inject.Inject
+import javax.inject.Singleton
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollCourseResult
+import org.sopt.teamdateroad.domain.repository.CourseRepository
+
+@Singleton
+class PostCourseUseCase @Inject constructor(
+ private val courseRepository: CourseRepository
+) {
+ suspend operator fun invoke(enroll: Enroll): Result = courseRepository.postCourse(enroll = enroll)
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt
similarity index 62%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt
index 7db32724c..076e08653 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Auth
-import org.sopt.dateroad.domain.model.SignIn
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.model.Auth
+import org.sopt.teamdateroad.domain.model.SignIn
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class PostSignInUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt
index f5ba86e99..b3cce3091 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.Auth
-import org.sopt.dateroad.domain.model.SignUp
-import org.sopt.dateroad.domain.repository.AuthRepository
+import org.sopt.teamdateroad.domain.model.Auth
+import org.sopt.teamdateroad.domain.model.SignUp
+import org.sopt.teamdateroad.domain.repository.AuthRepository
@Singleton
class PostSignUpUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt
new file mode 100644
index 000000000..5cfc0ed3a
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt
@@ -0,0 +1,14 @@
+package org.sopt.teamdateroad.domain.usecase
+
+import javax.inject.Inject
+import javax.inject.Singleton
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.EnrollTimelineResult
+import org.sopt.teamdateroad.domain.repository.TimelineRepository
+
+@Singleton
+class PostTimelineUseCase @Inject constructor(
+ private val timelineRepository: TimelineRepository
+) {
+ suspend operator fun invoke(enroll: Enroll): Result = timelineRepository.postTimeline(enroll = enroll)
+}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt
similarity index 56%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt
index da2f2945c..b3d028901 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.model.UsePoint
-import org.sopt.dateroad.domain.repository.UserPointRepository
+import org.sopt.teamdateroad.domain.model.PointUseResult
+import org.sopt.teamdateroad.domain.model.UsePoint
+import org.sopt.teamdateroad.domain.repository.UserPointRepository
@Singleton
class PostUsePointUseCase @Inject constructor(
private val userPointRepository: UserPointRepository
) {
- suspend operator fun invoke(courseId: Int, usePoint: UsePoint): Result = runCatching {
+ suspend operator fun invoke(courseId: Int, usePoint: UsePoint): Result =
userPointRepository.postUsePoint(courseId = courseId, usePoint = usePoint)
- }
}
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt
similarity index 72%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt
index 51ef3b2f4..d321b529e 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class SetAccessTokenUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt
similarity index 71%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt
index 7bf17e500..41fe02a3d 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class SetNicknameUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt
similarity index 72%
rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt
index 7fd376a0f..e52b23480 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.domain.usecase
+package org.sopt.teamdateroad.domain.usecase
import javax.inject.Inject
import javax.inject.Singleton
-import org.sopt.dateroad.domain.repository.UserInfoRepository
+import org.sopt.teamdateroad.domain.repository.UserInfoRepository
@Singleton
class SetRefreshTokenUseCase @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt
similarity index 98%
rename from app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt
rename to app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt
index c346cf10d..c6a91c23b 100644
--- a/app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt
@@ -1,4 +1,11 @@
-package org.sopt.dateroad.domain.util
+package org.sopt.teamdateroad.domain.util
+
+object Advertisement {
+ const val EDITOR = "에디터 픽"
+ const val AD = "광고"
+ const val ABOUT = "ABOUT"
+ const val HOT = "이달의 HOT"
+}
object Cost {
const val EXCESS_100000_TITLE = "10만원 초과"
@@ -7,29 +14,6 @@ object Cost {
const val LESS_THAN_30000_TITLE = "3만원 이하"
}
-object Region {
- const val SEOUL = "서울"
- const val GYEONGGI = "경기"
- const val INCHEON = "인천"
-}
-
-object Seoul {
- const val SEOUL_ENTIRE = "서울 전체"
- const val GANGNAM_SEOCHO = "강남/서초"
- const val JAMSIL_SONGPA_GANGDONG = "잠실/송파/강동"
- const val KONDAE_SEONGSU_SEONGDONG = "건대/성수/성동"
- const val GWANGIN_JUNGBANG = "광진/중랑"
- const val JONGNO_JUNGRO = "종로/중구"
- const val EUNPYEONG_SEODAEMUN = "은평/서대문"
- const val HONGDAE_HAPJEONG_MAPO = "홍대/합정/마포"
- const val YEONGDEUNGPO_YEOUIDO = "영등포/여의도"
- const val YONGSAN_ITAEWON_HANNAM = "용산/이태원/한남"
- const val YANGCHEON_GANGSEO_GURO = "양천/강서/구로"
- const val DONGDAEMUN_SEONGBUK = "동대문/성북"
- const val NOWON_DOBONG_GANGBUK = "노원/도봉/강북"
- const val GWANAK_DONGJAK_GEUMCHEON = "관악/동작/금천"
-}
-
object Gyeonggi {
const val GYEONGGI_ENTIRE = "경기 전체"
const val SEONGNAM = "성남"
@@ -54,13 +38,6 @@ object Incheon {
const val INCHEON_ENTIRE = "인천 전체"
}
-object Advertisement {
- const val EDITOR = "에디터 픽"
- const val AD = "광고"
- const val ABOUT = "ABOUT"
- const val HOT = "이달의 HOT"
-}
-
object Month {
const val JANUARY = "January"
const val FEBRUARY = "February"
@@ -75,3 +52,26 @@ object Month {
const val NOVEMBER = "November"
const val DECEMBER = "December"
}
+
+object Region {
+ const val SEOUL = "서울"
+ const val GYEONGGI = "경기"
+ const val INCHEON = "인천"
+}
+
+object Seoul {
+ const val SEOUL_ENTIRE = "서울 전체"
+ const val GANGNAM_SEOCHO = "강남/서초"
+ const val JAMSIL_SONGPA_GANGDONG = "잠실/송파/강동"
+ const val KONDAE_SEONGSU_SEONGDONG = "건대/성수/성동"
+ const val GWANGIN_JUNGBANG = "광진/중랑"
+ const val JONGNO_JUNGRO = "종로/중구"
+ const val EUNPYEONG_SEODAEMUN = "은평/서대문"
+ const val HONGDAE_HAPJEONG_MAPO = "홍대/합정/마포"
+ const val YEONGDEUNGPO_YEOUIDO = "영등포/여의도"
+ const val YONGSAN_ITAEWON_HANNAM = "용산/이태원/한남"
+ const val YANGCHEON_GANGSEO_GURO = "양천/강서/구로"
+ const val DONGDAEMUN_SEONGBUK = "동대문/성북"
+ const val NOWON_DOBONG_GANGBUK = "노원/도봉/강북"
+ const val GWANAK_DONGJAK_GEUMCHEON = "관악/동작/금천"
+}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt
index ae3bf7df3..10c7493b1 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.model
+package org.sopt.teamdateroad.presentation.model
sealed interface Route
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt
index eae9dd39d..8381bd1cb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.Black
-import org.sopt.dateroad.ui.theme.Gray100
-import org.sopt.dateroad.ui.theme.Gray400
-import org.sopt.dateroad.ui.theme.Purple600
-import org.sopt.dateroad.ui.theme.White
-import org.sopt.dateroad.ui.theme.defaultDateRoadTypography
+import org.sopt.teamdateroad.ui.theme.Black
+import org.sopt.teamdateroad.ui.theme.Gray100
+import org.sopt.teamdateroad.ui.theme.Gray400
+import org.sopt.teamdateroad.ui.theme.Purple600
+import org.sopt.teamdateroad.ui.theme.White
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography
enum class ChipType(
val selectedBackgroundColor: Color,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt
index d854a9404..ec032a949 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class CourseDetailUnopenedDetailType(
@StringRes val descriptionStringRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt
index d9465328f..9d0c0dcf8 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
import androidx.compose.ui.text.TextStyle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.defaultDateRoadTypography
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography
enum class DateChipGroupType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt
index 111163c8f..3c6eb962f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
enum class DateRoadRegionBottomSheetType {
ENROLL,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt
index 8b4df2dad..a5ae1f61b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class DateTagType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt
index 1e9be1de7..edb08246e 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class EmptyViewType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt
index e9e63bc7e..3ae23dbb3 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt
@@ -1,6 +1,6 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
-import org.sopt.dateroad.presentation.util.EnrollScreen
+import org.sopt.teamdateroad.presentation.util.EnrollScreen
enum class EnrollScreenType(
val position: Int
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt
similarity index 77%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt
index c4402e875..cf2f1889f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class EnrollType(
@StringRes val topBarTitleRes: Int
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt
index 185b15872..a278eaccb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.compose.runtime.Composable
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.model.Route
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.model.Route
enum class MainNavigationBarItemType(
@DrawableRes val iconRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt
similarity index 77%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt
index 5008d21a0..41276a7ca 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class MyCourseType(
@StringRes val topBarTitleRes: Int
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt
index 744dd66fd..7eb7dc7c7 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class MyPageMenuType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt
index 73ce9226b..9701b5a7e 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class MyPagePointInfoType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt
index aedc1cb3f..5bbe4820c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class OnboardingType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt
index 208a77263..f58c25dc2 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class OneButtonDialogType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt
index 212578e54..bf97509ba 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class OneButtonDialogWithDescriptionType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt
index db8d9ee7a..0e74b7052 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class PlaceCardType(
@DrawableRes val iconRes: Int? = null,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt
similarity index 60%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt
index e96d753ba..150e2b4a4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.util.PointHistoryTab.GAINED_HISTORY_POSITION
-import org.sopt.dateroad.presentation.util.PointHistoryTab.USED_HISTORY_POSITION
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.util.PointHistoryTab.GAINED_HISTORY_POSITION
+import org.sopt.teamdateroad.presentation.util.PointHistoryTab.USED_HISTORY_POSITION
enum class PointHistoryTabType(
val position: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt
index 3957832d3..739b2271f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class PointSystemType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt
similarity index 62%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt
index bd11b143f..a0e5681ef 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class ProfileType(
@StringRes val topAppBarTitleRes: Int,
@@ -9,10 +9,10 @@ enum class ProfileType(
) {
ENROLL(
topAppBarTitleRes = R.string.profile_enroll_top_bar_title,
- buttonTextRes = R.string.enroll_profile_button
+ buttonTextRes = R.string.profile_enroll_button
),
EDIT(
topAppBarTitleRes = R.string.profile_edit_top_bar_title,
- buttonTextRes = R.string.edit_profile_button
+ buttonTextRes = R.string.profile_edit_button
)
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt
similarity index 96%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt
index 15a74ea6e..438b1c95d 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
-import org.sopt.dateroad.ui.theme.defaultDateRoadColors
-import org.sopt.dateroad.ui.theme.defaultDateRoadTypography
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography
enum class TagType(
val backgroundColor: Color,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt
index 3ba2fd80a..e8ba9b8ff 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.ColorRes
import androidx.compose.ui.graphics.Color
-import org.sopt.dateroad.ui.theme.defaultDateRoadColors
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors
enum class TimelineType(
val index: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt
index b91457d5f..7fb5209c4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class TwoButtonDialogType(
@StringRes val titleRes: Int,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt
index 0c135f678..7741e9dfb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt
@@ -1,7 +1,7 @@
-package org.sopt.dateroad.presentation.type
+package org.sopt.teamdateroad.presentation.type
import androidx.annotation.StringRes
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
enum class TwoButtonDialogWithDescriptionType(
@StringRes val titleRes: Int,
@@ -39,12 +39,6 @@ enum class TwoButtonDialogWithDescriptionType(
confirmButtonTextRes = R.string.dialog_delete,
dismissButtonTextRes = R.string.dialog_cancel
),
- DELETE_PAST(
- titleRes = R.string.two_button_dialog_with_description_delete_past_title,
- descriptionRes = R.string.dialog_delete_schedule,
- confirmButtonTextRes = R.string.dialog_delete,
- dismissButtonTextRes = R.string.dialog_cancel
- ),
WITHDRAWAL(
titleRes = R.string.two_button_dialog_with_description_withdrawal_title,
descriptionRes = R.string.two_button_dialog_with_description_withdrawal_description,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt
similarity index 59%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt
index 76196a92b..2628199aa 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.ui.advertisement
+package org.sopt.teamdateroad.presentation.ui.advertisement
-import org.sopt.dateroad.domain.model.AdvertisementDetail
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.AdvertisementDetail
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class AdvertisementContract {
data class AdvertisementUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt
index acea7706c..84eca842e 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.advertisement
+package org.sopt.teamdateroad.presentation.ui.advertisement
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -20,14 +20,14 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.PagerState
-import org.sopt.dateroad.presentation.ui.advertisement.component.AdvertisementDetail
-import org.sopt.dateroad.presentation.ui.component.pager.DateRoadImagePager
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.advertisement.component.AdvertisementDetail
+import org.sopt.teamdateroad.presentation.ui.component.pager.DateRoadImagePager
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun AdvertisementRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt
index 6a09f4d93..9b5354799 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.presentation.ui.advertisement
+package org.sopt.teamdateroad.presentation.ui.advertisement
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.usecase.GetAdvertisementDetailUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.usecase.GetAdvertisementDetailUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class AdvertisementViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt
index 743c61994..f29871401 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.advertisement.component
+package org.sopt.teamdateroad.presentation.ui.advertisement.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -8,9 +8,9 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun AdvertisementDetail(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt
index 377ac9365..e099e4643 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.advertisement.navigation
+package org.sopt.teamdateroad.presentation.ui.advertisement.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType
import androidx.navigation.compose.composable
import androidx.navigation.navArgument
-import org.sopt.dateroad.presentation.ui.advertisement.AdvertisementRoute
+import org.sopt.teamdateroad.presentation.ui.advertisement.AdvertisementRoute
fun NavController.navigationAdvertisement(advertisementId: Int) {
this.navigate(route = AdvertisementRoute.route(advertisementId = advertisementId))
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt
index d03d95fba..d69fde67a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.bottomsheet
+package org.sopt.teamdateroad.presentation.ui.component.bottomsheet
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -19,9 +19,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalMaterial3Api::class)
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt
index b2708ae9a..31cb5dee4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.bottomsheet
+package org.sopt.teamdateroad.presentation.ui.component.bottomsheet
import android.annotation.SuppressLint
import androidx.compose.foundation.layout.Column
@@ -25,11 +25,10 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@SuppressLint("CoroutineCreationDuringComposition")
@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterialApi::class)
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt
index 843d6adee..770fd3037 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.bottomsheet
+package org.sopt.teamdateroad.presentation.ui.component.bottomsheet
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -18,9 +18,9 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker
-import org.sopt.dateroad.presentation.ui.component.numberpicker.DateRoadNumberPicker
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker
+import org.sopt.teamdateroad.presentation.ui.component.numberpicker.DateRoadNumberPicker
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalMaterial3Api::class)
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt
index a8a38b251..5a36e582c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.bottomsheet
+package org.sopt.teamdateroad.presentation.ui.component.bottomsheet
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
@@ -32,16 +32,16 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.type.GyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.type.SeoulAreaType
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.type.DateRoadRegionBottomSheetType
-import org.sopt.dateroad.presentation.ui.component.chip.DateRoadTextChip
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.DateRoadRegionBottomSheetType
+import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadTextChip
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class)
@Composable
diff --git a/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt
new file mode 100644
index 000000000..8ccae52f2
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt
@@ -0,0 +1,9 @@
+package org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model
+
+import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.PickerState
+
+data class Picker(
+ val items: List,
+ val startIndex: Int = 0,
+ val pickerState: PickerState = PickerState()
+)
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt
index 31f21f391..85afa5946 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
@@ -12,9 +12,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadAreaButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt
index 7d3c01def..148ec5fdb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
@@ -7,8 +7,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadBasicButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt
index 3e5cbccb2..1363f5289 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.background
import androidx.compose.foundation.border
@@ -12,7 +12,7 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.util.modifier.noRippleDebounceClickable
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleDebounceClickable
@Composable
fun DateRoadButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt
index a0cd64162..2a17c8a13 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Text
@@ -10,8 +10,8 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadFilledButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt
index f45a94264..7b562d4a9 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Icon
@@ -9,9 +9,9 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadImageButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt
index 9b92a774b..150f2f0bf 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Row
@@ -20,9 +20,9 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadKakaoLoginButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt
index 13a005d44..87a9b3f0b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.Text
@@ -10,8 +10,8 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadOutlinedButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt
index 02fb905c2..047fd9dcf 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.button
+package org.sopt.teamdateroad.presentation.ui.component.button
import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Text
@@ -9,8 +9,8 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadTextButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt
index 53f8de4e8..fc1f9c1eb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.card
+package org.sopt.teamdateroad.presentation.ui.component.card
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -24,12 +24,12 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadCourseCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt
index ba0028ef4..263fc0d86 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.card
+package org.sopt.teamdateroad.presentation.ui.component.card
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -20,12 +20,12 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.presentation.type.PlaceCardType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.presentation.type.PlaceCardType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadPlaceCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt
index 301a3bc96..ca53c8808 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.chip
+package org.sopt.teamdateroad.presentation.ui.component.chip
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
@Composable
fun DateRoadChip(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt
index 3bd5426b6..4491bbee6 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.chip
+package org.sopt.teamdateroad.presentation.ui.component.chip
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
@@ -15,8 +15,8 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.DateTagType
@Composable
fun DateRoadImageChip(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt
similarity index 93%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt
index 625ce0239..351cc774a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.chip
+package org.sopt.teamdateroad.presentation.ui.component.chip
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -9,7 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.ChipType
@Composable
fun DateRoadTextChip(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt
index 32967c01f..ab62d948a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.chipgroup
+package org.sopt.teamdateroad.presentation.ui.component.chipgroup
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -17,12 +17,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.type.DateChipGroupType
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.ui.component.chip.DateRoadImageChip
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.DateChipGroupType
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadImageChip
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalLayoutApi::class)
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt
index f693d21d1..dd6f3311d 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dialog
+package org.sopt.teamdateroad.presentation.ui.component.dialog
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -16,10 +16,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
-import org.sopt.dateroad.presentation.type.OneButtonDialogType
-import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogType
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType
@Composable
fun DateRoadDialog(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt
index c5b3e6488..84a68d14d 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dialog
+package org.sopt.teamdateroad.presentation.ui.component.dialog
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -15,9 +15,9 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.OneButtonDialogType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadOneButtonDialog(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt
index 33682f027..ce5bb7787 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dialog
+package org.sopt.teamdateroad.presentation.ui.component.dialog
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -15,9 +15,9 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadOneButtonDialogWithDescription(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt
index 6ea966795..155d76357 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dialog
+package org.sopt.teamdateroad.presentation.ui.component.dialog
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -17,9 +17,9 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.TwoButtonDialogType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadTwoButtonDialog(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt
index d003950b5..f65b8db16 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dialog
+package org.sopt.teamdateroad.presentation.ui.component.dialog
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -17,9 +17,9 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadTwoButtonDialogWithDescription(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt
index d0ecbca77..adfc59cda 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.dotsindicator
+package org.sopt.teamdateroad.presentation.ui.component.dotsindicator
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -11,7 +11,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DotsIndicator(totalDots: Int, selectedIndex: Int, modifier: Modifier = Modifier, indicatorSize: Dp) {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt
index 979a8fc18..09c42f23a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.numberpicker
+package org.sopt.teamdateroad.presentation.ui.component.numberpicker
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
@@ -31,10 +31,10 @@ import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map
-import org.sopt.dateroad.presentation.ui.component.numberpicker.state.PickerState
-import org.sopt.dateroad.presentation.ui.component.numberpicker.state.rememberPickerState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.PickerState
+import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.rememberPickerState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalFoundationApi::class)
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt
index 7c3fc7ed6..f096c833b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.numberpicker.state
+package org.sopt.teamdateroad.presentation.ui.component.numberpicker.state
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt
index de6c7eccd..e0ab66cce 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.pager
+package org.sopt.teamdateroad.presentation.ui.component.pager
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.aspectRatio
@@ -16,10 +16,10 @@ import coil.request.ImageRequest
import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.PagerState
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
@OptIn(ExperimentalPagerApi::class)
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt
index 549358653..3a18300ca 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.partialcolortext
+package org.sopt.teamdateroad.presentation.ui.component.partialcolortext
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt
index d806a4aac..1eb2ba990 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.tabbar
+package org.sopt.teamdateroad.presentation.ui.component.tabbar
import androidx.compose.animation.core.AnimationSpec
import androidx.compose.animation.core.FastOutSlowInEasing
@@ -30,9 +30,9 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
enum class SubComposeID {
HEIGHT,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt
index 0847a5142..e779e5f3f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.tag
+package org.sopt.teamdateroad.presentation.ui.component.tag
import androidx.annotation.DrawableRes
import androidx.compose.foundation.Image
@@ -14,10 +14,10 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@Composable
fun DateRoadImageTag(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt
index 1fbdb95ee..96de7b588 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.tag
+package org.sopt.teamdateroad.presentation.ui.component.tag
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -21,10 +21,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadPointTag(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt
index a0d9e888c..a132a2131 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.tag
+package org.sopt.teamdateroad.presentation.ui.component.tag
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.type.TagType
@Composable
fun DateRoadTag(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt
index 02356d1a4..cdf360daa 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.presentation.ui.component.tag
+package org.sopt.teamdateroad.presentation.ui.component.tag
import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@Composable
fun DateRoadTextTag(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt
index 164d68086..01d428505 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.textfield
+package org.sopt.teamdateroad.presentation.ui.component.textfield
import androidx.annotation.DrawableRes
import androidx.compose.foundation.background
@@ -31,10 +31,10 @@ import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadBasicTextField(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt
index bb49dfe59..5cf959306 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.textfield
+package org.sopt.teamdateroad.presentation.ui.component.textfield
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -24,9 +24,9 @@ import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadTextArea(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt
similarity index 95%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt
index bf7289e18..14f9350b4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.textfield
+package org.sopt.teamdateroad.presentation.ui.component.textfield
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -26,11 +26,11 @@ import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadTextFieldWithButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt
index 153372e1f..f753ddcc2 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.textfield.model
+package org.sopt.teamdateroad.presentation.ui.component.textfield.model
sealed class TextFieldValidateResult {
data object Basic : TextFieldValidateResult()
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt
index c81f763f9..527d14b49 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.topbar
+package org.sopt.teamdateroad.presentation.ui.component.topbar
import androidx.annotation.DrawableRes
import androidx.compose.foundation.background
@@ -23,10 +23,10 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadBasicTopBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt
index b5208f8f2..3465d1cf8 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.topbar
+package org.sopt.teamdateroad.presentation.ui.component.topbar
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -13,8 +13,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadLeftTitleTopBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt
index afdd33eca..48416b9db 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.topbar
+package org.sopt.teamdateroad.presentation.ui.component.topbar
import androidx.annotation.DrawableRes
import androidx.compose.foundation.background
@@ -10,9 +10,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadScrollResponsiveTopBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt
index aa87d367a..05d3b708a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.component.view
+package org.sopt.teamdateroad.presentation.ui.component.view
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadIdleView(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt
index 8238daa2b..459f5bc19 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.view
+package org.sopt.teamdateroad.presentation.ui.component.view
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
@@ -15,9 +15,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadEmptyView(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt
index e01d78e6c..bf2991f7c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.view
+package org.sopt.teamdateroad.presentation.ui.component.view
import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
import androidx.compose.foundation.Image
@@ -17,9 +17,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadErrorView() {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt
index a44f24255..3b088a724 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.view
+package org.sopt.teamdateroad.presentation.ui.component.view
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -16,10 +16,10 @@ import com.airbnb.lottie.compose.LottieCompositionSpec
import com.airbnb.lottie.compose.LottieConstants
import com.airbnb.lottie.compose.rememberLottieAnimatable
import com.airbnb.lottie.compose.rememberLottieComposition
-import org.sopt.dateroad.presentation.util.LoadingView.CLIPMAX
-import org.sopt.dateroad.presentation.util.LoadingView.CLIPMIN
-import org.sopt.dateroad.presentation.util.LoadingView.LOTTIE
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.util.LoadingView.CLIP_MAX
+import org.sopt.teamdateroad.presentation.util.LoadingView.CLIP_MIN
+import org.sopt.teamdateroad.presentation.util.LoadingView.LOTTIE
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadLoadingView() {
@@ -31,7 +31,7 @@ fun DateRoadLoadingView() {
LaunchedEffect(composition) {
lottieAnimatable.animate(
composition = composition,
- clipSpec = LottieClipSpec.Frame(CLIPMIN, CLIPMAX),
+ clipSpec = LottieClipSpec.Frame(CLIP_MIN, CLIP_MAX),
initialProgress = 0f,
iteration = LottieConstants.IterateForever
)
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt
similarity index 96%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt
index 3364e6d20..13e65bb87 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.component.view
+package org.sopt.teamdateroad.presentation.ui.component.view
import android.webkit.WebViewClient
import androidx.activity.compose.BackHandler
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt
index b7dc018d2..0b0c80710 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.coursedetail
+package org.sopt.teamdateroad.presentation.ui.coursedetail
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class CourseDetailContract {
data class CourseDetailUiState(
@@ -23,7 +23,8 @@ class CourseDetailContract {
val currentImagePage: Int = 0,
val usePointLoadState: LoadState = LoadState.Idle,
val deleteLoadState: LoadState = LoadState.Idle,
- var isWebViewOpened: Boolean = false
+ var isWebViewOpened: Boolean = false,
+ var hasPointReadDialogOpened: Boolean = false
) : UiState
sealed interface CourseDetailSideEffect : UiSideEffect {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt
index 351966d45..a8c22b973 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail
+package org.sopt.teamdateroad.presentation.ui.coursedetail
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -26,30 +26,38 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.PagerState
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.presentation.type.CourseDetailUnopenedDetailType
-import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
-import org.sopt.dateroad.presentation.ui.component.pager.DateRoadImagePager
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView
-import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailBasicInfo
-import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailBottomBar
-import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailUnopenedDetail
-import org.sopt.dateroad.presentation.ui.coursedetail.component.courseDetailOpenedDetail
-import org.sopt.dateroad.presentation.util.ViewPath.COURSE_DETAIL
-import org.sopt.dateroad.presentation.util.WebViewUrl.REPORT_URL
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.presentation.type.CourseDetailUnopenedDetailType
+import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
+import org.sopt.teamdateroad.presentation.ui.component.pager.DateRoadImagePager
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView
+import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailBasicInfo
+import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailBottomBar
+import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailUnopenedDetail
+import org.sopt.teamdateroad.presentation.ui.coursedetail.component.courseDetailOpenedDetail
+import org.sopt.teamdateroad.presentation.util.CourseDetail.POINT_LACK
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_BACK
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_PURCHASE
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_ID
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_TITLE
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.PURCHASE_SUCCESS
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.VIEW_COURSE_DETAILS
+import org.sopt.teamdateroad.presentation.util.ViewPath.COURSE_DETAIL
+import org.sopt.teamdateroad.presentation.util.WebViewUrl.REPORT_URL
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailRoute(
@@ -75,6 +83,20 @@ fun CourseDetailRoute(
viewModel.fetchCourseDetail(courseId = courseId)
}
+ LaunchedEffect(uiState.loadState, lifecycleOwner) {
+ if (uiState.loadState == LoadState.Success) {
+ with(uiState.courseDetail) {
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = VIEW_COURSE_DETAILS,
+ mapOf(
+ COURSE_LIST_ID to courseId,
+ COURSE_LIST_TITLE to title
+ )
+ )
+ }
+ }
+ }
+
when (uiState.loadState) {
LoadState.Idle -> DateRoadIdleView()
@@ -111,7 +133,16 @@ fun CourseDetailRoute(
onReportCourseBottomSheet = { viewModel.setEvent(CourseDetailContract.CourseDetailEvent.OnReportCourseBottomSheet) },
dismissReportCourseBottomSheet = { viewModel.setEvent(CourseDetailContract.CourseDetailEvent.DismissReportCourseBottomSheet) },
enrollSchedule = { viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.NavigateToEnroll(enrollType = EnrollType.TIMELINE, viewPath = COURSE_DETAIL, id = courseId)) },
- onTopBarIconClicked = { viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.PopBackStack) },
+ onTopBarIconClicked = {
+ viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.PopBackStack)
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = CLICK_COURSE_BACK,
+ properties = mapOf(
+ CLICK_COURSE_PURCHASE to uiState.hasPointReadDialogOpened,
+ PURCHASE_SUCCESS to uiState.courseDetail.isAccess
+ )
+ )
+ },
openCourseDetail = { viewModel.postUsePoint(courseId = courseId) },
onReportButtonClicked = {
viewModel.setEvent(CourseDetailContract.CourseDetailEvent.OnReportWebViewClicked)
@@ -270,7 +301,7 @@ fun CourseDetailScreen(
onDismissRequest = { dismissDialogLookedByPoint() },
onClickConfirm = {
dismissDialogLookedByPoint()
- if (courseDetailUiState.courseDetail.totalPoint < 50) {
+ if (courseDetailUiState.courseDetail.totalPoint < POINT_LACK) {
onDialogPointLack()
} else {
openCourseDetail()
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt
index ecb9a3cf5..d922ec447 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt
@@ -1,18 +1,24 @@
-package org.sopt.dateroad.presentation.ui.coursedetail
+package org.sopt.teamdateroad.presentation.ui.coursedetail
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.model.UsePoint
-import org.sopt.dateroad.domain.usecase.DeleteCourseLikeUseCase
-import org.sopt.dateroad.domain.usecase.DeleteCourseUseCase
-import org.sopt.dateroad.domain.usecase.GetCourseDetailUseCase
-import org.sopt.dateroad.domain.usecase.PostCourseLikeUseCase
-import org.sopt.dateroad.domain.usecase.PostUsePointUseCase
-import org.sopt.dateroad.presentation.util.Point
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.UsePoint
+import org.sopt.teamdateroad.domain.usecase.DeleteCourseLikeUseCase
+import org.sopt.teamdateroad.domain.usecase.DeleteCourseUseCase
+import org.sopt.teamdateroad.domain.usecase.GetCourseDetailUseCase
+import org.sopt.teamdateroad.domain.usecase.PostCourseLikeUseCase
+import org.sopt.teamdateroad.domain.usecase.PostUsePointUseCase
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_LIKES
+import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_LIKE
+import org.sopt.teamdateroad.presentation.util.Point
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_FREE_REMAINED
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_PURCHASE_COUNT
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class CourseDetailViewModel @Inject constructor(
@@ -34,7 +40,7 @@ class CourseDetailViewModel @Inject constructor(
is CourseDetailContract.CourseDetailEvent.DismissDialogDeleteCourse -> setState { copy(isDeleteCourseDialogOpen = false) }
is CourseDetailContract.CourseDetailEvent.OnDialogReportCourse -> setState { copy(isReportCourseDialogOpen = true) }
is CourseDetailContract.CourseDetailEvent.DismissDialogReportCourse -> setState { copy(isReportCourseDialogOpen = false) }
- is CourseDetailContract.CourseDetailEvent.OnDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = true) }
+ is CourseDetailContract.CourseDetailEvent.OnDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = true, hasPointReadDialogOpened = true) }
is CourseDetailContract.CourseDetailEvent.DismissDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = false) }
is CourseDetailContract.CourseDetailEvent.OnLikeButtonClicked -> setState { copy(isLikedButtonChecked = !isLikedButtonChecked) }
is CourseDetailContract.CourseDetailEvent.OnDeleteCourseBottomSheet -> setState { copy(isDeleteCourseBottomSheetOpen = true) }
@@ -56,6 +62,7 @@ class CourseDetailViewModel @Inject constructor(
setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail))
deleteCourseLikeUseCase(courseId = courseId).onSuccess {
setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail.copy(isUserLiked = false, like = currentState.courseDetail.like - 1)))
+ AmplitudeUtils.trackEventWithProperty(eventName = CLICK_COURSE_LIKES, propertyName = COURSE_LIST_LIKE, propertyValue = currentState.courseDetail.isUserLiked)
}.onFailure {
setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail))
}
@@ -80,6 +87,7 @@ class CourseDetailViewModel @Inject constructor(
)
postCourseLikeUseCase(courseId = courseId).onSuccess {
setEvent(CourseDetailContract.CourseDetailEvent.PostCourseLike(courseDetail = currentState.courseDetail.copy(isUserLiked = true, like = currentState.courseDetail.like + 1)))
+ AmplitudeUtils.trackEventWithProperty(eventName = CLICK_COURSE_LIKES, propertyName = COURSE_LIST_LIKE, propertyValue = currentState.courseDetail.isUserLiked)
}.onFailure {
setEvent(CourseDetailContract.CourseDetailEvent.PostCourseLike(courseDetail = currentState.courseDetail))
}
@@ -89,8 +97,11 @@ class CourseDetailViewModel @Inject constructor(
fun postUsePoint(courseId: Int) {
viewModelScope.launch {
setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Loading, isAccess = currentState.courseDetail.isAccess))
- postUsePointUseCase(courseId = courseId, usePoint = UsePoint(Point.POINT, Point.POINT_USED, Point.POINT_USED_DESCRIPTION)).onSuccess {
+ postUsePointUseCase(courseId = courseId, usePoint = UsePoint(Point.POINT, Point.POINT_USED, Point.POINT_USED_DESCRIPTION)).onSuccess { result ->
setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Success, isAccess = true))
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = result.userPoint)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_FREE_REMAINED, propertyValue = result.userFreeRemained)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_PURCHASE_COUNT, propertyValue = result.userPurchaseCount.toInt())
}.onFailure {
setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Error, isAccess = currentState.courseDetail.isAccess))
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt
index adb335cc3..fc236fd04 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -8,7 +8,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailBasicInfo(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt
index d5750d661..554195a31 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -20,10 +20,10 @@ import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailBottomBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt
index 254bd7478..cbba74976 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Spacer
@@ -12,8 +12,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailCost(
@@ -22,7 +22,7 @@ fun CourseDetailCost(
Spacer(modifier = Modifier.height(14.dp))
Text(
modifier = Modifier.padding(horizontal = 16.dp),
- text = stringResource(id = R.string.course_total_cost_string),
+ text = stringResource(id = R.string.course_detail_total_cost_string),
style = DateRoadTheme.typography.titleBold18,
color = DateRoadTheme.colors.black
)
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt
index b5b7430fc..56fa387fe 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Row
@@ -12,8 +12,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailInfoBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt
index 53d808d52..4a46c9412 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
@@ -7,9 +7,9 @@ import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
fun LazyListScope.courseDetailOpenedDetail(
description: String,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt
index f0b01c965..2c2fbd362 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -13,11 +13,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.ui.component.chip.DateRoadImageChip
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadImageChip
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailTag(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt
index 0cbdb6b1d..9141bf5e4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
@@ -8,11 +8,11 @@ import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.presentation.type.PlaceCardType
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.presentation.type.PlaceCardType
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
fun LazyListScope.courseDetailTimeline(
startAt: String,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt
index 1c288ea63..4274c68d4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.component
+package org.sopt.teamdateroad.presentation.ui.coursedetail.component
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -17,10 +17,10 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.CourseDetailUnopenedDetailType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.CourseDetailUnopenedDetailType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun CourseDetailUnopenedDetail(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt
index a01666ff6..aa054abbf 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.presentation.ui.coursedetail.navigation
+package org.sopt.teamdateroad.presentation.ui.coursedetail.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType
import androidx.navigation.compose.composable
import androidx.navigation.navArgument
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.coursedetail.CourseDetailRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.coursedetail.CourseDetailRoute
fun NavController.navigationCourseDetail(courseId: Int) {
this.navigate(route = CourseDetailRoute.route(courseId = courseId))
@@ -36,5 +36,6 @@ object CourseDetailRoute {
private const val ROUTE = "courseDetail"
const val ID = "id"
const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ID}"
+
fun route(courseId: Int) = "$ROUTE/$courseId"
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt
similarity index 65%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt
index c9e34e5dd..e1a6261ab 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt
@@ -1,19 +1,32 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
-import org.sopt.dateroad.domain.model.CourseDetail
-import org.sopt.dateroad.domain.model.Enroll
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.presentation.type.EnrollScreenType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.util.TimePicker
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.CourseDetail
+import org.sopt.teamdateroad.domain.model.Enroll
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.presentation.type.EnrollScreenType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.util.DatePicker.DAY_END
+import org.sopt.teamdateroad.presentation.util.DatePicker.DAY_START
+import org.sopt.teamdateroad.presentation.util.DatePicker.MONTH_END
+import org.sopt.teamdateroad.presentation.util.DatePicker.MONTH_START
+import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_END
+import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_START
+import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_START_INDEX
+import org.sopt.teamdateroad.presentation.util.DurationPicker.DURATION_END
+import org.sopt.teamdateroad.presentation.util.DurationPicker.DURATION_START
+import org.sopt.teamdateroad.presentation.util.TimePicker
+import org.sopt.teamdateroad.presentation.util.TimePicker.HOUR_END
+import org.sopt.teamdateroad.presentation.util.TimePicker.HOUR_START
+import org.sopt.teamdateroad.presentation.util.TimePicker.MINUTE_END
+import org.sopt.teamdateroad.presentation.util.TimePicker.MINUTE_START
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class EnrollContract {
data class EnrollUiState(
@@ -27,15 +40,15 @@ class EnrollContract {
val dateValidateState: TextFieldValidateResult = TextFieldValidateResult.Basic,
val isDatePickerBottomSheetOpen: Boolean = false,
val datePickers: List = listOf(
- Picker(items = (2000..2024).map { it.toString() }, startIndex = 24),
- Picker(items = (1..12).map { it.toString() }),
- Picker(items = (1..31).map { it.toString() })
+ Picker(items = (YEAR_START..YEAR_END).map { it.toString() }, startIndex = YEAR_START_INDEX),
+ Picker(items = (MONTH_START..MONTH_END).map { it.toString() }),
+ Picker(items = (DAY_START..DAY_END).map { it.toString() })
),
val isTimePickerBottomSheetOpen: Boolean = false,
val timePickers: List = listOf(
Picker(items = listOf(TimePicker.AM, TimePicker.PM)),
- Picker(items = (1..12).map { it.toString() }),
- Picker(items = (0..59).map { it.toString().padStart(2, '0') })
+ Picker(items = (HOUR_START..HOUR_END).map { it.toString() }),
+ Picker(items = (MINUTE_START..MINUTE_END).map { it.toString().padStart(2, '0') })
),
val isRegionBottomSheetOpen: Boolean = false,
val onRegionBottomSheetRegionSelected: RegionType? = RegionType.SEOUL,
@@ -43,7 +56,7 @@ class EnrollContract {
val place: Place = Place(),
val isPlaceEditable: Boolean = true,
val isDurationBottomSheetOpen: Boolean = false,
- val durationPicker: List = listOf(Picker(items = (1..12).map { (it * 0.5).toString() })),
+ val durationPicker: List = listOf(Picker(items = (DURATION_START..DURATION_END).map { (it * 0.5).toString() })),
val isEnrollSuccessDialogOpen: Boolean = false
) : UiState
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt
index ab73e0405..ff31161b4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -12,17 +12,17 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.type.GyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType
-import org.sopt.dateroad.domain.type.SeoulAreaType
-import org.sopt.dateroad.presentation.type.DateChipGroupType
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
-import org.sopt.dateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup
-import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType
+import org.sopt.teamdateroad.presentation.type.DateChipGroupType
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
+import org.sopt.teamdateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup
+import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@Composable
fun EnrollFirstScreen(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt
index 52dda626a..fa56b1f6c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
import android.net.Uri
import android.os.Build
@@ -31,68 +31,70 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import java.time.LocalDate
import java.time.format.DateTimeFormatter
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.presentation.type.DateRoadRegionBottomSheetType
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.EnrollScreenType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.type.OneButtonDialogType
-import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialog
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.enroll.component.EnrollPhotos
-import org.sopt.dateroad.presentation.util.DatePicker
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_BRING_COURSE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE1_BACK
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE2_BACK
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE3_BACK
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE1_BACK
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE2_BACK
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_BOOL
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_NUM
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_COST
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_DATE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_IMAGE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_LOCATION
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_START_TIME
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_TAGS
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_TITLE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_AREA
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_COURSE_NUM
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DATE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_LOCATION
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_TIME
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_LOCATION
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_SPEND_TIME
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TAG_NUM
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TIME
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TITLE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.LOCATION_NUM
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE2
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE2
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_COURSE1
-import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_PATH
-import org.sopt.dateroad.presentation.util.EnrollScreen.MAX_ITEMS
-import org.sopt.dateroad.presentation.util.EnrollScreen.TITLE_MIN_LENGTH
-import org.sopt.dateroad.presentation.util.TimePicker
-import org.sopt.dateroad.presentation.util.TimelineAmplitude.CLICK_ADD_SCHEDULE
-import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.presentation.type.DateRoadRegionBottomSheetType
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.EnrollScreenType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogType
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialog
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.enroll.component.EnrollPhotos
+import org.sopt.teamdateroad.presentation.util.DatePicker
+import org.sopt.teamdateroad.presentation.util.DatePicker.SEPARATOR
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_BRING_COURSE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE1_BACK
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE2_BACK
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE3_BACK
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE1_BACK
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE2_BACK
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_BOOL
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_NUM
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_COST
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_DATE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_IMAGE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_LOCATION
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_START_TIME
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_TAGS
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_TITLE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_AREA
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_COURSE_NUM
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DATE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_LOCATION
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_TIME
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_LOCATION
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_SPEND_TIME
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TAG_NUM
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TIME
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TITLE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.LOCATION_NUM
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE2
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE2
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_COURSE1
+import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_PATH
+import org.sopt.teamdateroad.presentation.util.EnrollScreen.MAX_ITEMS
+import org.sopt.teamdateroad.presentation.util.EnrollScreen.TITLE_MIN_LENGTH
+import org.sopt.teamdateroad.presentation.util.GalleryLauncher.INPUT
+import org.sopt.teamdateroad.presentation.util.TimePicker
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.CLICK_ADD_SCHEDULE
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun EnrollRoute(
@@ -258,7 +260,7 @@ fun EnrollRoute(
onDurationBottomSheetDismissRequest = { viewModel.setEvent(EnrollContract.EnrollEvent.OnDurationBottomSheetDismissRequest) },
onPhotoButtonClick = {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
- getGalleryLauncher.launch("image/*")
+ getGalleryLauncher.launch(INPUT)
} else {
getPhotoPickerLauncher.launch(
PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)
@@ -389,21 +391,23 @@ fun EnrollScreen(
leftIconResource = R.drawable.ic_top_bar_back_white,
onLeftIconClick = onTopBarBackButtonClick,
buttonContent = {
- Row {
- DateRoadFilledButton(
- isEnabled = true,
- textContent = stringResource(id = R.string.top_bar_button_text_load),
- onClick = onTopBarLoadButtonClick,
- textStyle = DateRoadTheme.typography.bodyMed13,
- enabledBackgroundColor = DateRoadTheme.colors.purple600,
- enabledTextColor = DateRoadTheme.colors.white,
- disabledBackgroundColor = DateRoadTheme.colors.gray200,
- disabledTextColor = DateRoadTheme.colors.gray400,
- cornerRadius = 20.dp,
- paddingHorizontal = 10.dp,
- paddingVertical = 5.dp
- )
- Spacer(modifier = Modifier.width(16.dp))
+ if (enrollUiState.page == EnrollScreenType.FIRST) {
+ Row {
+ DateRoadFilledButton(
+ isEnabled = true,
+ textContent = stringResource(id = R.string.top_bar_button_text_load),
+ onClick = onTopBarLoadButtonClick,
+ textStyle = DateRoadTheme.typography.bodyMed13,
+ enabledBackgroundColor = DateRoadTheme.colors.purple600,
+ enabledTextColor = DateRoadTheme.colors.white,
+ disabledBackgroundColor = DateRoadTheme.colors.gray200,
+ disabledTextColor = DateRoadTheme.colors.gray400,
+ cornerRadius = 20.dp,
+ paddingHorizontal = 10.dp,
+ paddingVertical = 5.dp
+ )
+ Spacer(modifier = Modifier.width(16.dp))
+ }
}
}
)
@@ -463,7 +467,7 @@ fun EnrollScreen(
buttonText = stringResource(id = R.string.apply),
onButtonClick = {
onDatePickerBottomSheetButtonClick(
- enrollUiState.datePickers.joinToString(separator = ".") { it.pickerState.selectedItem.padStart(2, '0') }
+ enrollUiState.datePickers.joinToString(separator = SEPARATOR) { it.pickerState.selectedItem.padStart(2, '0') }
)
},
onDismissRequest = onDatePickerBottomSheetDismissRequest,
@@ -497,7 +501,7 @@ fun EnrollScreen(
},
titleText = stringResource(id = R.string.region_bottom_sheet_title),
buttonText = stringResource(id = R.string.apply),
- onButtonClick = { regoion, area -> onRegionBottomSheetButtonClick(regoion, area) },
+ onButtonClick = { region, area -> onRegionBottomSheetButtonClick(region, area) },
onDismissRequest = onRegionBottomSheetDismissRequest
)
@@ -534,7 +538,7 @@ fun EnrollScreen(
}
fun formatTime(time: List): String {
- val period = if (time[0] == TimePicker.AM) "AM" else "PM"
+ val period = if (time[0] == TimePicker.AM) TimePicker.AM_ENG else TimePicker.PM_ENG
val hour = time[1].padStart(2, '0')
val minute = time[2].padStart(2, '0')
return "$hour:$minute $period"
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt
index 348bfb0a4..c5c1e7d60 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
import android.annotation.SuppressLint
import androidx.compose.animation.core.animateFloatAsState
@@ -33,17 +33,17 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.presentation.type.PlaceCardType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard
-import org.sopt.dateroad.presentation.ui.enroll.component.EnrollPlaceInsertBar
-import org.sopt.dateroad.presentation.util.Time
-import org.sopt.dateroad.presentation.util.draganddrop.rememberDragAndDropListState
-import org.sopt.dateroad.presentation.util.mutablelist.move
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.presentation.type.PlaceCardType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard
+import org.sopt.teamdateroad.presentation.ui.enroll.component.EnrollPlaceInsertBar
+import org.sopt.teamdateroad.presentation.util.Time
+import org.sopt.teamdateroad.presentation.util.draganddrop.rememberDragAndDropListState
+import org.sopt.teamdateroad.presentation.util.mutablelist.move
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@SuppressLint("UnrememberedMutableState", "UnnecessaryComposedModifier")
@Composable
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt
index 55ba14310..58415bbb0 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -13,11 +13,11 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField
-import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadTextArea
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField
+import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadTextArea
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@Composable
fun EnrollThirdScreen(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt
index 29cb0e857..5b8489e9e 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt
@@ -1,20 +1,24 @@
-package org.sopt.dateroad.presentation.ui.enroll
+package org.sopt.teamdateroad.presentation.ui.enroll
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.data.dataremote.util.Date.NEAREST_DATE_START_OUTPUT_FORMAT
-import org.sopt.dateroad.data.mapper.toEntity.toEnroll
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.usecase.GetCourseDetailUseCase
-import org.sopt.dateroad.domain.usecase.GetTimelineDetailUseCase
-import org.sopt.dateroad.domain.usecase.PostCourseUseCase
-import org.sopt.dateroad.domain.usecase.PostTimelineUseCase
-import org.sopt.dateroad.presentation.type.EnrollScreenType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.data.dataremote.util.Date.NEAREST_DATE_START_OUTPUT_FORMAT
+import org.sopt.teamdateroad.data.mapper.toEntity.toEnroll
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.usecase.GetCourseDetailUseCase
+import org.sopt.teamdateroad.domain.usecase.GetTimelineDetailUseCase
+import org.sopt.teamdateroad.domain.usecase.PostCourseUseCase
+import org.sopt.teamdateroad.domain.usecase.PostTimelineUseCase
+import org.sopt.teamdateroad.presentation.type.EnrollScreenType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.DATE_SCHEDULE_NUM
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_COURSE_COUNT
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class EnrollViewModel @Inject constructor(
@@ -142,8 +146,10 @@ class EnrollViewModel @Inject constructor(
private fun postCourse() {
viewModelScope.launch {
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Loading))
- postCourseUseCase(enroll = currentState.enroll).onSuccess {
+ postCourseUseCase(enroll = currentState.enroll).onSuccess { result ->
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Success))
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = result.userPoint)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_COURSE_COUNT, propertyValue = result.userCourseCount.toInt())
}.onFailure {
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Error))
}
@@ -153,8 +159,9 @@ class EnrollViewModel @Inject constructor(
private fun postTimeline() {
viewModelScope.launch {
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Loading))
- postTimelineUseCase(enroll = currentState.enroll).onSuccess {
+ postTimelineUseCase(enroll = currentState.enroll).onSuccess { result ->
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Success))
+ AmplitudeUtils.updateIntUserProperty(propertyName = DATE_SCHEDULE_NUM, propertyValue = result.dateScheduleNum.toInt())
}.onFailure {
setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Error))
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt
index 75388a6ce..fabe70332 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll.component
+package org.sopt.teamdateroad.presentation.ui.enroll.component
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -21,10 +21,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun EnrollAddPhotoButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt
index edb1c05ef..f2151a220 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll.component
+package org.sopt.teamdateroad.presentation.ui.enroll.component
import android.content.Context
import androidx.compose.foundation.Image
@@ -21,10 +21,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun EnrollPhotoPreviewCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt
index 991d0d8fe..2faba1b98 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll.component
+package org.sopt.teamdateroad.presentation.ui.enroll.component
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -17,12 +17,12 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun EnrollPhotos(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt
index abd621824..86200b3eb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll.component
+package org.sopt.teamdateroad.presentation.ui.enroll.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -22,14 +22,14 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun EnrollPlaceInsertBar(
@@ -96,7 +96,7 @@ fun EnrollPlaceInsertBarPreview() {
var title by remember { mutableStateOf("") }
var duration by remember { mutableStateOf("") }
var isBottomSheetOpen by rememberSaveable { mutableStateOf(false) }
- var pickerItems by remember {
+ val pickerItems by remember {
mutableStateOf(listOf(Picker(items = (1..12).map { (it * 0.5).toString() })))
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt
index e7138d309..3712c26bb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.enroll.navigation
+package org.sopt.teamdateroad.presentation.ui.enroll.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
@@ -6,10 +6,10 @@ import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType
import androidx.navigation.compose.composable
import androidx.navigation.navArgument
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.ui.enroll.EnrollRoute
-import org.sopt.dateroad.presentation.ui.mycourse.navigation.MyCourseRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.ui.enroll.EnrollRoute
+import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.MyCourseRoute
fun NavController.navigationEnroll(enrollType: EnrollType, viewPath: String, courseId: Int? = null) {
navigate(
@@ -58,5 +58,6 @@ object EnrollRoute {
const val VIEW_PATH = "viewPath"
const val TIMELINE_ID = "timelineId"
const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ENROLL_TYPE}/{$VIEW_PATH}/{$TIMELINE_ID}"
+
fun route(enrollType: EnrollType, viewPath: String, courseId: Int?) = "$ROUTE/${enrollType.name}/$viewPath/$courseId"
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt
index a60308d06..24afdf18a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.presentation.ui.home
+package org.sopt.teamdateroad.presentation.ui.home
-import org.sopt.dateroad.domain.model.Advertisement
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Advertisement
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class HomeContract {
data class HomeUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt
index d14c96047..9e33fdb16 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.home
+package org.sopt.teamdateroad.presentation.ui.home
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -36,28 +36,39 @@ import com.google.accompanist.pager.PagerState
import com.google.accompanist.pager.rememberPagerState
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.type.SortByType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MainNavigationBarItemType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard
-import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.home.component.DateRoadHomeTopBar
-import org.sopt.dateroad.presentation.ui.home.component.HomeAdvertisement
-import org.sopt.dateroad.presentation.ui.home.component.HomeHotCourseCard
-import org.sopt.dateroad.presentation.ui.home.component.HomeTimeLineCard
-import org.sopt.dateroad.presentation.util.ViewPath.HOME
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.type.SortByType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard
+import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.home.component.DateRoadHomeTopBar
+import org.sopt.teamdateroad.presentation.ui.home.component.HomeAdvertisement
+import org.sopt.teamdateroad.presentation.ui.home.component.HomeHotCourseCard
+import org.sopt.teamdateroad.presentation.ui.home.component.HomeTimeLineCard
+import org.sopt.teamdateroad.presentation.util.Home.ADVERTISEMENT_DELAY
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_COST
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_ID
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_LOCATION
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_TITLE
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.HOT
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.NEW
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.USER_NAME
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.USER_POINT
+import org.sopt.teamdateroad.presentation.util.HomeAmplitude.VIEW_MAIN
+import org.sopt.teamdateroad.presentation.util.ViewPath.HOME
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalPagerApi::class)
@Composable
@@ -84,7 +95,7 @@ fun HomeRoute(
viewModel.fetchUserPoint()
while (true) {
- delay(4000)
+ delay(ADVERTISEMENT_DELAY)
coroutineScope.launch {
if (uiState.advertisements.isNotEmpty()) {
val nextPage = (pagerState.currentPage + 1) % uiState.advertisements.size
@@ -108,6 +119,26 @@ fun HomeRoute(
}
}
+ LaunchedEffect(uiState.loadState, lifecycleOwner) {
+ if (uiState.loadState == LoadState.Success) {
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = VIEW_MAIN,
+ mapOf(
+ USER_NAME to uiState.userPoint.name,
+ USER_POINT to uiState.userPoint.point,
+ COURSE_LIST_ID to
+ HOT + uiState.topLikedCourses.map { it.courseId }.joinToString() + NEW + uiState.latestCourses.map { it.courseId }.joinToString(),
+ COURSE_LIST_TITLE to
+ HOT + uiState.topLikedCourses.joinToString { it.title } + NEW + uiState.latestCourses.joinToString { it.title },
+ COURSE_LIST_LOCATION to
+ HOT + uiState.topLikedCourses.joinToString { it.city } + NEW + uiState.latestCourses.joinToString { it.city },
+ COURSE_LIST_COST to
+ HOT + uiState.topLikedCourses.joinToString { it.cost } + NEW + uiState.latestCourses.joinToString { it.cost }
+ )
+ )
+ }
+ }
+
when (uiState.loadState) {
LoadState.Idle -> DateRoadIdleView()
@@ -207,7 +238,7 @@ fun HomeScreen(
color = DateRoadTheme.colors.gray400
)
DateRoadTextButton(
- textContent = stringResource(id = R.string.button_more),
+ textContent = stringResource(id = R.string.more),
textStyle = DateRoadTheme.typography.bodyBold13,
textColor = DateRoadTheme.colors.purple600,
paddingHorizontal = 20.dp,
@@ -279,7 +310,7 @@ fun HomeScreen(
modifier = Modifier.padding(horizontal = 16.dp)
)
DateRoadTextButton(
- textContent = stringResource(id = R.string.button_more),
+ textContent = stringResource(id = R.string.more),
textStyle = DateRoadTheme.typography.bodyBold13,
textColor = DateRoadTheme.colors.purple600,
paddingHorizontal = 20.dp,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt
index fd988fda9..502b2939b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt
@@ -1,18 +1,18 @@
-package org.sopt.dateroad.presentation.ui.home
+package org.sopt.teamdateroad.presentation.ui.home
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.domain.type.SortByType
-import org.sopt.dateroad.domain.usecase.GetAdvertisementsUseCase
-import org.sopt.dateroad.domain.usecase.GetNearestTimelineUseCase
-import org.sopt.dateroad.domain.usecase.GetSortedCoursesUseCase
-import org.sopt.dateroad.domain.usecase.GetUserPointUseCase
-import org.sopt.dateroad.domain.usecase.SetNicknameUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.domain.type.SortByType
+import org.sopt.teamdateroad.domain.usecase.GetAdvertisementsUseCase
+import org.sopt.teamdateroad.domain.usecase.GetNearestTimelineUseCase
+import org.sopt.teamdateroad.domain.usecase.GetSortedCoursesUseCase
+import org.sopt.teamdateroad.domain.usecase.GetUserPointUseCase
+import org.sopt.teamdateroad.domain.usecase.SetNicknameUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class HomeViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt
index 9e34a2dde..981ea815b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.home.component
+package org.sopt.teamdateroad.presentation.ui.home.component
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -14,8 +14,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.domain.model.Advertisement
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.domain.model.Advertisement
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
@Composable
fun HomeAdvertisement(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt
index 074287cd2..bd839809a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.home.component
+package org.sopt.teamdateroad.presentation.ui.home.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -23,12 +23,12 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun HomeHotCourseCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt
similarity index 94%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt
index 65c8aaeb1..4cf3c75b4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.home.component
+package org.sopt.teamdateroad.presentation.ui.home.component
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.Image
@@ -27,12 +27,12 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.NearestTimeline
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.NearestTimeline
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun HomeTimeLineCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt
index f9f6d0ed1..f94162d5c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.home.component
+package org.sopt.teamdateroad.presentation.ui.home.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -14,9 +14,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadPointTag
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadPointTag
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadHomeTopBar(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt
index 0f4d121f2..f46fe1536 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.presentation.ui.home.navigation
+package org.sopt.teamdateroad.presentation.ui.home.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MainNavigationBarItemType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.home.HomeRoute
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.home.HomeRoute
fun NavController.navigationHome(navOptions: NavOptions) {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt
index 26833292f..e7c4d71b3 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.presentation.ui.look
+package org.sopt.teamdateroad.presentation.ui.look
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class LookContract {
data class LookUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt
index abf4ea273..b29c0234a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.look
+package org.sopt.teamdateroad.presentation.ui.look
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -29,30 +29,30 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.type.GyeonggiAreaType
-import org.sopt.dateroad.domain.type.IncheonAreaType
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.type.SeoulAreaType
-import org.sopt.dateroad.presentation.type.ChipType
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadAreaButton
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.presentation.ui.component.chip.DateRoadTextChip
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.look.component.LookCourseCard
-import org.sopt.dateroad.presentation.util.Default
-import org.sopt.dateroad.presentation.util.ViewPath.LOOK
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.type.GyeonggiAreaType
+import org.sopt.teamdateroad.domain.type.IncheonAreaType
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.type.SeoulAreaType
+import org.sopt.teamdateroad.presentation.type.ChipType
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadAreaButton
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadTextChip
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.look.component.LookCourseCard
+import org.sopt.teamdateroad.presentation.util.Default
+import org.sopt.teamdateroad.presentation.util.ViewPath.LOOK
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun LookRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt
index 343e88292..2886aa5a8 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt
@@ -1,14 +1,14 @@
-package org.sopt.dateroad.presentation.ui.look
+package org.sopt.teamdateroad.presentation.ui.look
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.type.MoneyTagType
-import org.sopt.dateroad.domain.type.RegionType
-import org.sopt.dateroad.domain.usecase.GetFilteredCourses
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.type.MoneyTagType
+import org.sopt.teamdateroad.domain.type.RegionType
+import org.sopt.teamdateroad.domain.usecase.GetFilteredCourses
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class LookViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt
index 2941cd549..8e81ef989 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.look.component
+package org.sopt.teamdateroad.presentation.ui.look.component
import android.content.Context
import androidx.compose.foundation.Image
@@ -30,13 +30,13 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun LookCourseCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt
similarity index 75%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt
index 4e6dabf23..4dff2a0a4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.look.navigation
+package org.sopt.teamdateroad.presentation.ui.look.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.look.LookRoute
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.look.LookRoute
fun NavController.navigationLook(navOptions: NavOptions) {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt
index ac3a89586..732683c34 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.mycourse
+package org.sopt.teamdateroad.presentation.ui.mycourse
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class MyCourseContract {
data class MyCourseUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt
index c17f294db..428fa0b31 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.mycourse
+package org.sopt.teamdateroad.presentation.ui.mycourse
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -18,24 +18,24 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.util.MyCourseAmplitude.CLICK_PURCHASED_BACK
-import org.sopt.dateroad.presentation.util.MyCourseAmplitude.VIEW_PURCHASED_COURSE
-import org.sopt.dateroad.presentation.util.ViewPath.MY_COURSE_READ
-import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.util.MyCourseAmplitude.CLICK_PURCHASED_BACK
+import org.sopt.teamdateroad.presentation.util.MyCourseAmplitude.VIEW_PURCHASED_COURSE
+import org.sopt.teamdateroad.presentation.util.ViewPath.MY_COURSE_READ
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun MyCourseRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt
index 1085a8995..5c80c3d14 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.mycourse
+package org.sopt.teamdateroad.presentation.ui.mycourse
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.usecase.GetMyCourseEnrollUseCase
-import org.sopt.dateroad.domain.usecase.GetMyCourseReadUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.usecase.GetMyCourseEnrollUseCase
+import org.sopt.teamdateroad.domain.usecase.GetMyCourseReadUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class MyCourseViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt
index 3be4c91fc..255f58a17 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.mycourse.navigation
+package org.sopt.teamdateroad.presentation.ui.mycourse.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
@@ -6,10 +6,10 @@ import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavType
import androidx.navigation.compose.composable
import androidx.navigation.navArgument
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.ui.mycourse.MyCourseRoute
-import org.sopt.dateroad.presentation.ui.mycourse.navigation.MyCourseRoute.ROUTE_WITH_ARGUMENT
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.ui.mycourse.MyCourseRoute
+import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.MyCourseRoute.ROUTE_WITH_ARGUMENT
fun NavController.navigateMyCourses(myCourseType: MyCourseType) {
this.navigate(route = MyCourseRoute.route(myCourseType = myCourseType))
@@ -41,5 +41,6 @@ object MyCourseRoute {
private const val ROUTE = "myCourses"
const val ARGUMENT = "myCourseType"
const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ARGUMENT}"
+
fun route(myCourseType: MyCourseType) = "$ROUTE/${myCourseType.name}"
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt
index 564b78bab..1a90a8013 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.ui.mypage
+package org.sopt.teamdateroad.presentation.ui.mypage
-import org.sopt.dateroad.domain.model.Profile
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Profile
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class MyPageContract {
data class MyPageUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt
index 8bcdf071f..e508e97a3 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.mypage
+package org.sopt.teamdateroad.presentation.ui.mypage
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -36,41 +36,42 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import coil.compose.AsyncImage
import coil.request.ImageRequest
-import org.sopt.dateroad.R
-import org.sopt.dateroad.data.dataremote.util.Point
-import org.sopt.dateroad.domain.model.Profile
-import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.type.MyPageMenuType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView
-import org.sopt.dateroad.presentation.ui.mypage.component.MyPageButton
-import org.sopt.dateroad.presentation.ui.mypage.component.MyPagePointBox
-import org.sopt.dateroad.presentation.util.WebViewUrl.ASK_URL
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.data.dataremote.util.Point
+import org.sopt.teamdateroad.domain.model.Profile
+import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.type.MyPageMenuType
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView
+import org.sopt.teamdateroad.presentation.ui.mypage.component.MyPageButton
+import org.sopt.teamdateroad.presentation.ui.mypage.component.MyPagePointBox
+import org.sopt.teamdateroad.presentation.util.WebViewUrl.ASK_URL
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun MyPageRoute(
padding: PaddingValues,
viewModel: MyPageViewModel = hiltViewModel(),
- navigateToEditProfile: () -> Unit,
navigateToPointHistory: () -> Unit,
navigateToMyCourse: (MyCourseType) -> Unit,
navigateToPointGuide: () -> Unit,
- navigateToSignIn: () -> Unit
+ navigateToSignIn: () -> Unit,
+ navigateToProfile: (ProfileType) -> Unit
) {
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
val lifecycleOwner = LocalLifecycleOwner.current
@@ -83,7 +84,7 @@ fun MyPageRoute(
viewModel.sideEffect.flowWithLifecycle(lifecycle = lifecycleOwner.lifecycle)
.collect { myPageSideEffect ->
when (myPageSideEffect) {
- is MyPageContract.MyPageSideEffect.NavigateToEditProfile -> navigateToEditProfile()
+ is MyPageContract.MyPageSideEffect.NavigateToEditProfile -> navigateToProfile(ProfileType.EDIT)
is MyPageContract.MyPageSideEffect.NavigateToPointHistory -> navigateToPointHistory()
is MyPageContract.MyPageSideEffect.NavigateToMyCourse -> navigateToMyCourse(MyCourseType.ENROLL)
is MyPageContract.MyPageSideEffect.NavigateToPointGuide -> navigateToPointGuide()
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt
index 1b6606715..cd36726c5 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.presentation.ui.mypage
+package org.sopt.teamdateroad.presentation.ui.mypage
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.usecase.ClearUserInfoUseCase
-import org.sopt.dateroad.domain.usecase.DeleteSignOutUseCase
-import org.sopt.dateroad.domain.usecase.DeleteWithdrawUseCase
-import org.sopt.dateroad.domain.usecase.GetUserUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.usecase.ClearUserInfoUseCase
+import org.sopt.teamdateroad.domain.usecase.DeleteSignOutUseCase
+import org.sopt.teamdateroad.domain.usecase.DeleteWithdrawUseCase
+import org.sopt.teamdateroad.domain.usecase.GetUserUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class MyPageViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt
index 4e0ca7056..3e295d85b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.mypage.component
+package org.sopt.teamdateroad.presentation.ui.mypage.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -18,9 +18,9 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.MyPageMenuType
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.MyPageMenuType
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun MyPageButton(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt
index 131640b68..9610fa876 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.mypage.component
+package org.sopt.teamdateroad.presentation.ui.mypage.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -20,10 +20,10 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.data.dataremote.util.Point.POINT
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.data.dataremote.util.Point.POINT
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun MyPagePointBox(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt
similarity index 71%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt
index 5c97d553c..193366fec 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt
@@ -1,13 +1,14 @@
-package org.sopt.dateroad.presentation.ui.mypage.navigation
+package org.sopt.teamdateroad.presentation.ui.mypage.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.ui.mypage.MyPageRoute
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.mypage.MyPageRoute
fun NavController.navigationMyPage(navOptions: NavOptions) {
navigate(
@@ -22,7 +23,7 @@ fun NavGraphBuilder.myPageNavGraph(
navigateToMyCourse: (MyCourseType) -> Unit,
navigateToPointGuide: () -> Unit,
navigateToSignIn: () -> Unit,
- navigateToEditProfile: () -> Unit
+ navigateToProfile: (ProfileType) -> Unit
) {
composable(route = MainNavigationBarRoute.MyPage::class.simpleName.orEmpty()) {
MyPageRoute(
@@ -31,7 +32,7 @@ fun NavGraphBuilder.myPageNavGraph(
navigateToMyCourse = navigateToMyCourse,
navigateToPointGuide = navigateToPointGuide,
navigateToSignIn = navigateToSignIn,
- navigateToEditProfile = navigateToEditProfile
+ navigateToProfile = navigateToProfile
)
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt
index 19e5129ed..3d5b41f61 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.navigator
+package org.sopt.teamdateroad.presentation.ui.navigator
import android.os.Bundle
import androidx.activity.ComponentActivity
@@ -11,8 +11,8 @@ import androidx.compose.runtime.setValue
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay
-import org.sopt.dateroad.presentation.ui.splash.SplashScreen
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.presentation.ui.splash.SplashScreen
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt
similarity index 69%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt
index c84f5a165..a58b06a0b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.navigator
+package org.sopt.teamdateroad.presentation.ui.navigator
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
@@ -9,30 +9,30 @@ import androidx.navigation.NavOptions
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navOptions
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.model.Route
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.MainNavigationBarItemType
-import org.sopt.dateroad.presentation.type.MyCourseType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.advertisement.navigation.navigationAdvertisement
-import org.sopt.dateroad.presentation.ui.coursedetail.navigation.navigationCourseDetail
-import org.sopt.dateroad.presentation.ui.enroll.navigation.navigationEnroll
-import org.sopt.dateroad.presentation.ui.home.navigation.navigationHome
-import org.sopt.dateroad.presentation.ui.look.navigation.navigationLook
-import org.sopt.dateroad.presentation.ui.mycourse.navigation.navigateMyCourses
-import org.sopt.dateroad.presentation.ui.mypage.navigation.navigationMyPage
-import org.sopt.dateroad.presentation.ui.onboarding.navigation.navigationOnboarding
-import org.sopt.dateroad.presentation.ui.past.navigation.navigationPast
-import org.sopt.dateroad.presentation.ui.pointguide.navigation.navigationPointGuide
-import org.sopt.dateroad.presentation.ui.pointhistory.navigation.navigationPointHistory
-import org.sopt.dateroad.presentation.ui.profile.navigation.navigationEditProfile
-import org.sopt.dateroad.presentation.ui.profile.navigation.navigationEnrollProfile
-import org.sopt.dateroad.presentation.ui.read.navigation.navigationRead
-import org.sopt.dateroad.presentation.ui.signin.navigation.SignInRoute
-import org.sopt.dateroad.presentation.ui.signin.navigation.navigationSignIn
-import org.sopt.dateroad.presentation.ui.timeline.navigation.navigationTimeline
-import org.sopt.dateroad.presentation.ui.timelinedetail.navigation.navigateToTimelineDetail
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.model.Route
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType
+import org.sopt.teamdateroad.presentation.type.MyCourseType
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.advertisement.navigation.navigationAdvertisement
+import org.sopt.teamdateroad.presentation.ui.coursedetail.navigation.navigationCourseDetail
+import org.sopt.teamdateroad.presentation.ui.enroll.navigation.navigationEnroll
+import org.sopt.teamdateroad.presentation.ui.home.navigation.navigationHome
+import org.sopt.teamdateroad.presentation.ui.look.navigation.navigationLook
+import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.navigateMyCourses
+import org.sopt.teamdateroad.presentation.ui.mypage.navigation.navigationMyPage
+import org.sopt.teamdateroad.presentation.ui.onboarding.navigation.navigationOnboarding
+import org.sopt.teamdateroad.presentation.ui.past.navigation.navigationPast
+import org.sopt.teamdateroad.presentation.ui.pointguide.navigation.navigationPointGuide
+import org.sopt.teamdateroad.presentation.ui.pointhistory.navigation.navigationPointHistory
+import org.sopt.teamdateroad.presentation.ui.profile.navigation.navigationProfile
+import org.sopt.teamdateroad.presentation.ui.read.navigation.navigationRead
+import org.sopt.teamdateroad.presentation.ui.signin.navigation.SignInRoute
+import org.sopt.teamdateroad.presentation.ui.signin.navigation.navigationSignIn
+import org.sopt.teamdateroad.presentation.ui.timeline.navigation.navigationTimeline
+import org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation.navigateToTimelineDetail
class MainNavigator(
val navHostController: NavHostController
@@ -78,8 +78,8 @@ class MainNavigator(
navHostController.navigationEnroll(enrollType = enrollType, viewPath = viewPath, courseId = courseId)
}
- fun navigateToMyPage(navOptions: NavOptions? = null) {
- navHostController.navigationMyPage(
+ fun navigateToHome(navOptions: NavOptions? = null) {
+ navHostController.navigationHome(
navOptions ?: navOptions {
popUpTo(navHostController.graph.findStartDestination().id) {
inclusive = true
@@ -89,8 +89,12 @@ class MainNavigator(
)
}
- fun navigateToHome(navOptions: NavOptions? = null) {
- navHostController.navigationHome(
+ fun navigateToMyCourse(myCourseType: MyCourseType) {
+ navHostController.navigateMyCourses(myCourseType = myCourseType)
+ }
+
+ fun navigateToMyPage(navOptions: NavOptions? = null) {
+ navHostController.navigationMyPage(
navOptions ?: navOptions {
popUpTo(navHostController.graph.findStartDestination().id) {
inclusive = true
@@ -100,10 +104,6 @@ class MainNavigator(
)
}
- fun navigateToMyCourse(myCourseType: MyCourseType) {
- navHostController.navigateMyCourses(myCourseType = myCourseType)
- }
-
fun navigateToOnboarding() {
navHostController.navigationOnboarding()
}
@@ -120,12 +120,8 @@ class MainNavigator(
navHostController.navigationPointHistory()
}
- fun navigateToEnrollProfile() {
- navHostController.navigationEnrollProfile()
- }
-
- fun navigateToEditProfile() {
- navHostController.navigationEditProfile()
+ fun navigateToProfile(profileType: ProfileType) {
+ navHostController.navigationProfile(profileType = profileType)
}
fun navigateToSignIn() {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt
similarity index 77%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt
index 9e78684d2..826f07c48 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.navigator
+package org.sopt.teamdateroad.presentation.ui.navigator
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
-import org.sopt.dateroad.presentation.type.MainNavigationBarItemType
-import org.sopt.dateroad.presentation.ui.navigator.component.MainBottomBar
-import org.sopt.dateroad.presentation.ui.navigator.component.MainNavHost
-import org.sopt.dateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType
+import org.sopt.teamdateroad.presentation.ui.navigator.component.MainBottomBar
+import org.sopt.teamdateroad.presentation.ui.navigator.component.MainNavHost
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
@Composable
fun MainScreen(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt
index a37d40f36..1bebc23ae 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.navigator.component
+package org.sopt.teamdateroad.presentation.ui.navigator.component
import android.content.Context
import androidx.compose.animation.AnimatedVisibility
@@ -21,13 +21,13 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.MainNavigationBarItemType
-import org.sopt.dateroad.ui.theme.Black
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
-import org.sopt.dateroad.ui.theme.Gray200
-import org.sopt.dateroad.ui.theme.Gray300
-import org.sopt.dateroad.ui.theme.White
+import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType
+import org.sopt.teamdateroad.ui.theme.Black
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.Gray200
+import org.sopt.teamdateroad.ui.theme.Gray300
+import org.sopt.teamdateroad.ui.theme.White
@Composable
fun CustomNavigationBarItem(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt
similarity index 65%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt
index d2ea98f24..1226133da 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.navigator.component
+package org.sopt.teamdateroad.presentation.ui.navigator.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -7,26 +7,26 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
-import org.sopt.dateroad.presentation.type.ProfileType
-import org.sopt.dateroad.presentation.ui.advertisement.navigation.advertisementGraph
-import org.sopt.dateroad.presentation.ui.coursedetail.navigation.courseDetailGraph
-import org.sopt.dateroad.presentation.ui.enroll.navigation.enrollNavGraph
-import org.sopt.dateroad.presentation.ui.home.navigation.homeNavGraph
-import org.sopt.dateroad.presentation.ui.look.navigation.lookNavGraph
-import org.sopt.dateroad.presentation.ui.mycourse.navigation.myCoursesNavGraph
-import org.sopt.dateroad.presentation.ui.mypage.navigation.myPageNavGraph
-import org.sopt.dateroad.presentation.ui.navigator.MainNavigator
-import org.sopt.dateroad.presentation.ui.onboarding.navigation.onboardingNavGraph
-import org.sopt.dateroad.presentation.ui.past.navigation.pastNavGraph
-import org.sopt.dateroad.presentation.ui.pointguide.navigation.pointGuideGraph
-import org.sopt.dateroad.presentation.ui.pointhistory.navigation.pointHistoryGraph
-import org.sopt.dateroad.presentation.ui.profile.navigation.editProfileNavGraph
-import org.sopt.dateroad.presentation.ui.profile.navigation.enrollProfileNavGraph
-import org.sopt.dateroad.presentation.ui.read.navigation.readNavGraph
-import org.sopt.dateroad.presentation.ui.signin.navigation.signInGraph
-import org.sopt.dateroad.presentation.ui.timeline.navigation.timelineNavGraph
-import org.sopt.dateroad.presentation.ui.timelinedetail.navigation.timelineDetailGraph
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.ui.advertisement.navigation.advertisementGraph
+import org.sopt.teamdateroad.presentation.ui.coursedetail.navigation.courseDetailGraph
+import org.sopt.teamdateroad.presentation.ui.enroll.navigation.enrollNavGraph
+import org.sopt.teamdateroad.presentation.ui.home.navigation.homeNavGraph
+import org.sopt.teamdateroad.presentation.ui.look.navigation.lookNavGraph
+import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.myCoursesNavGraph
+import org.sopt.teamdateroad.presentation.ui.mypage.navigation.myPageNavGraph
+import org.sopt.teamdateroad.presentation.ui.navigator.MainNavigator
+import org.sopt.teamdateroad.presentation.ui.onboarding.navigation.onboardingNavGraph
+import org.sopt.teamdateroad.presentation.ui.past.navigation.pastNavGraph
+import org.sopt.teamdateroad.presentation.ui.pointguide.navigation.pointGuideGraph
+import org.sopt.teamdateroad.presentation.ui.pointhistory.navigation.pointHistoryGraph
+import org.sopt.teamdateroad.presentation.ui.profile.navigation.profileNavGraph
+import org.sopt.teamdateroad.presentation.ui.read.navigation.readNavGraph
+import org.sopt.teamdateroad.presentation.ui.signin.navigation.signInGraph
+import org.sopt.teamdateroad.presentation.ui.timeline.navigation.timelineNavGraph
+import org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation.timelineDetailGraph
+import org.sopt.teamdateroad.presentation.util.ViewPath.HOME
+import org.sopt.teamdateroad.presentation.util.ViewPath.TIMELINE
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun MainNavHost(
@@ -87,11 +87,11 @@ fun MainNavHost(
navigateToMyCourse = navigator::navigateToMyCourse,
navigateToPointGuide = navigator::navigateToPointGuide,
navigateToSignIn = navigator::navigateToSignIn,
- navigateToEditProfile = navigator::navigateToEditProfile
+ navigateToProfile = navigator::navigateToProfile
)
onboardingNavGraph(
- navigateToEnrollProfile = navigator::navigateToEnrollProfile,
+ navigateToProfile = navigator::navigateToProfile,
navigateToSignIn = navigator::navigateToSignIn
)
@@ -111,16 +111,9 @@ fun MainNavHost(
popBackStack = navigator::popBackStackIfNotHome
)
- enrollProfileNavGraph(
+ profileNavGraph(
navigateToHome = navigator::navigateToHome,
navigateToMyPage = navigator::navigateToMyPage,
- profileType = ProfileType.ENROLL,
- popBackStack = navigator::popBackStackIfNotHome
- )
- editProfileNavGraph(
- navigateToHome = navigator::navigateToHome,
- navigateToMyPage = navigator::navigateToMyPage,
- profileType = ProfileType.EDIT,
popBackStack = navigator::popBackStackIfNotHome
)
@@ -142,8 +135,17 @@ fun MainNavHost(
navigateToTimelineDetail = navigator::navigateToTimelineDetail
)
+ val previousRoute = navigator.navHostController.previousBackStackEntry?.destination?.route ?: "Unknown"
+
+ val previousView = when (previousRoute) {
+ HOME -> "홈"
+ TIMELINE -> "데이트 일정"
+ else -> "Unknown"
+ }
+
timelineDetailGraph(
- popBackStack = navigator::popBackStackIfNotHome
+ popBackStack = navigator::popBackStackIfNotHome,
+ viewPath = previousView
)
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt
similarity index 55%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt
index e5387a838..1845675b7 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.ui.onboarding
+package org.sopt.teamdateroad.presentation.ui.onboarding
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
class OnBoardingContract {
class OnBoardingUiState : UiState
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt
index 6acf7bac9..984f7165a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt
@@ -1,8 +1,8 @@
-package org.sopt.dateroad.presentation.ui.onboarding
+package org.sopt.teamdateroad.presentation.ui.onboarding
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
@HiltViewModel
class OnBoardingViewModel @Inject constructor() : BaseViewModel() {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt
index 945cafdeb..a289ce50d 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.onboarding
+package org.sopt.teamdateroad.presentation.ui.onboarding
import androidx.activity.compose.BackHandler
import androidx.compose.foundation.Image
@@ -29,18 +29,22 @@ import com.google.accompanist.pager.PagerState
import com.google.accompanist.pager.rememberPagerState
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.OnboardingType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.presentation.ui.component.dotsindicator.DotsIndicator
-import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.OnboardingType
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.presentation.ui.component.dotsindicator.DotsIndicator
+import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText
+import org.sopt.teamdateroad.presentation.util.Onboarding.FIRST
+import org.sopt.teamdateroad.presentation.util.Onboarding.FIRST_PAGE_KEYWORD
+import org.sopt.teamdateroad.presentation.util.Onboarding.KEYWORD
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalPagerApi::class)
@Composable
fun OnboardingRoute(
viewModel: OnBoardingViewModel = hiltViewModel(),
- navigateToProfile: () -> Unit,
+ navigateToProfile: (ProfileType) -> Unit,
navigateToSignIn: () -> Unit
) {
val lifecycleOwner = LocalLifecycleOwner.current
@@ -49,7 +53,7 @@ fun OnboardingRoute(
BackHandler {
when (pagerState.currentPage) {
- 0 -> viewModel.setSideEffect(OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn)
+ FIRST -> viewModel.setSideEffect(OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn)
else -> {
coroutineScope.launch {
@@ -63,7 +67,7 @@ fun OnboardingRoute(
viewModel.sideEffect.flowWithLifecycle(lifecycle = lifecycleOwner.lifecycle)
.collect { onBoardingSideEffect ->
when (onBoardingSideEffect) {
- is OnBoardingContract.OnBoardingSideEffect.NavigateToProfile -> navigateToProfile()
+ is OnBoardingContract.OnBoardingSideEffect.NavigateToProfile -> navigateToProfile(ProfileType.ENROLL)
is OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn -> navigateToSignIn()
}
}
@@ -109,7 +113,11 @@ fun OnboardingScreen(
Text(
text = PartialColorText(
stringResource(id = onboardingType.titleRes),
- keywords = if (page == 0) { listOf("포인트", "데이트 코스", "100", "다양한") } else listOf("100 포인트", "다양한"),
+ keywords = if (page == FIRST) {
+ FIRST_PAGE_KEYWORD
+ } else {
+ KEYWORD
+ },
color = DateRoadTheme.colors.purple600
),
style = DateRoadTheme.typography.titleExtra24,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt
index df9c2ebd5..b60b2e473 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt
@@ -1,9 +1,10 @@
-package org.sopt.dateroad.presentation.ui.onboarding.navigation
+package org.sopt.teamdateroad.presentation.ui.onboarding.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.ui.onboarding.OnboardingRoute
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.onboarding.OnboardingRoute
fun NavController.navigationOnboarding() {
navigate(
@@ -12,12 +13,12 @@ fun NavController.navigationOnboarding() {
}
fun NavGraphBuilder.onboardingNavGraph(
- navigateToEnrollProfile: () -> Unit,
+ navigateToProfile: (ProfileType) -> Unit,
navigateToSignIn: () -> Unit
) {
composable(route = OnboardingRoute.ROUTE) {
OnboardingRoute(
- navigateToProfile = navigateToEnrollProfile,
+ navigateToProfile = navigateToProfile,
navigateToSignIn = navigateToSignIn
)
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt
similarity index 57%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt
index cdaeeb93b..3d3f4e692 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.past
+package org.sopt.teamdateroad.presentation.ui.past
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class PastContract {
data class PastUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt
index 2966406ae..e5c6ff3fc 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.past
+package org.sopt.teamdateroad.presentation.ui.past
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -18,19 +18,19 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.type.TimelineTimeType
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.past.component.PastCard
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.past.component.PastCard
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun PastRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt
index e95affac0..365576053 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.past
+package org.sopt.teamdateroad.presentation.ui.past
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.type.TimelineTimeType
-import org.sopt.dateroad.domain.usecase.GetTimelinesUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.domain.usecase.GetTimelinesUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class PastViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt
similarity index 90%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt
index 3ee936984..9cbf163cb 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.past.component
+package org.sopt.teamdateroad.presentation.ui.past.component
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
@@ -26,15 +26,15 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
-import org.sopt.dateroad.ui.theme.defaultDateRoadColors
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors
@Composable
fun PastCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt
index daeb2da69..b08a9734b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.past.navigation
+package org.sopt.teamdateroad.presentation.ui.past.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.past.PastRoute
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.past.PastRoute
fun NavController.navigationPast() {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt
similarity index 85%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt
index a2955e179..7491c0fd2 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.pointguide
+package org.sopt.teamdateroad.presentation.ui.pointguide
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -15,12 +15,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.MyPagePointInfoType
-import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.pointguide.component.DateRoadMyPagePointInfo
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.MyPagePointInfoType
+import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.pointguide.component.DateRoadMyPagePointInfo
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun ProfileGuideRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt
similarity index 91%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt
index 566653044..dcaaceede 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.pointguide.component
+package org.sopt.teamdateroad.presentation.ui.pointguide.component
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -21,8 +21,8 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.presentation.type.MyPagePointInfoType
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.presentation.type.MyPagePointInfoType
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun DateRoadMyPagePointInfo(myPagePointInfoType: MyPagePointInfoType) {
@@ -32,7 +32,7 @@ fun DateRoadMyPagePointInfo(myPagePointInfoType: MyPagePointInfoType) {
.clip(RoundedCornerShape(14.dp))
.background(DateRoadTheme.colors.gray100)
.padding(14.dp),
- verticalAlignment = Alignment.CenterVertically // Aligns items vertically centered
+ verticalAlignment = Alignment.CenterVertically
) {
Image(
painter = painterResource(id = myPagePointInfoType.imageRes),
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt
index 287d676c6..bd25e068b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.ui.pointguide.navigation
+package org.sopt.teamdateroad.presentation.ui.pointguide.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.ui.pointguide.ProfileGuideRoute
+import org.sopt.teamdateroad.presentation.ui.pointguide.ProfileGuideRoute
fun NavController.navigationPointGuide() {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt
index 5b8b92df1..07d07ae4c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt
@@ -1,12 +1,12 @@
-package org.sopt.dateroad.presentation.ui.pointhistory
+package org.sopt.teamdateroad.presentation.ui.pointhistory
-import org.sopt.dateroad.domain.model.PointHistory
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.presentation.type.PointHistoryTabType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.PointHistory
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.presentation.type.PointHistoryTabType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class PointHistoryContract {
data class PointHistoryUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt
index ca89cc52e..0768afcac 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.pointhistory
+package org.sopt.teamdateroad.presentation.ui.pointhistory
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -21,24 +21,24 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Point
-import org.sopt.dateroad.domain.model.PointHistory
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.PointHistoryTabType
-import org.sopt.dateroad.presentation.ui.component.tabbar.DateRoadTabBar
-import org.sopt.dateroad.presentation.ui.component.tabbar.DateRoadTabTitle
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.pointhistory.component.PointHistoryCard
-import org.sopt.dateroad.presentation.ui.pointhistory.component.PointHistoryPointBox
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Point
+import org.sopt.teamdateroad.domain.model.PointHistory
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.PointHistoryTabType
+import org.sopt.teamdateroad.presentation.ui.component.tabbar.DateRoadTabBar
+import org.sopt.teamdateroad.presentation.ui.component.tabbar.DateRoadTabTitle
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.pointhistory.component.PointHistoryCard
+import org.sopt.teamdateroad.presentation.ui.pointhistory.component.PointHistoryPointBox
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun PointHistoryRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt
index 4335d27c2..8ca13b37a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.pointhistory
+package org.sopt.teamdateroad.presentation.ui.pointhistory
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.usecase.GetPointHistoryUseCase
-import org.sopt.dateroad.domain.usecase.GetUserPointUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.usecase.GetPointHistoryUseCase
+import org.sopt.teamdateroad.domain.usecase.GetUserPointUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class PointHistoryViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt
similarity index 88%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt
index 72deb40cd..aab1bcd77 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.pointhistory.component
+package org.sopt.teamdateroad.presentation.ui.pointhistory.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -10,9 +10,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.domain.model.Point
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.domain.model.Point
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun PointHistoryCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt
index ab6c75536..7e0e16466 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.pointhistory.component
+package org.sopt.teamdateroad.presentation.ui.pointhistory.component
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
@@ -15,9 +15,9 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.UserPoint
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.UserPoint
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun PointHistoryPointBox(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt
index 3f92c96d8..3ab626bb6 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.ui.pointhistory.navigation
+package org.sopt.teamdateroad.presentation.ui.pointhistory.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.ui.pointhistory.PointHistoryRoute
+import org.sopt.teamdateroad.presentation.ui.pointhistory.PointHistoryRoute
fun NavController.navigationPointHistory() {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt
index 6f02740a6..6d2dae6ab 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt
@@ -1,14 +1,14 @@
-package org.sopt.dateroad.presentation.ui.profile
+package org.sopt.teamdateroad.presentation.ui.profile
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.model.Profile
-import org.sopt.dateroad.domain.model.SignUp
-import org.sopt.dateroad.presentation.type.ProfileType
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.model.Profile
+import org.sopt.teamdateroad.domain.model.SignUp
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class ProfileContract {
data class ProfileUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt
similarity index 80%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt
index bb961fe0e..56b6cdf00 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.profile
+package org.sopt.teamdateroad.presentation.ui.profile
import android.annotation.SuppressLint
import android.net.Uri
@@ -35,26 +35,33 @@ import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import coil.compose.rememberAsyncImagePainter
-import org.sopt.dateroad.R
-import org.sopt.dateroad.data.mapper.todata.toEditProfile
-import org.sopt.dateroad.presentation.type.DateChipGroupType
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
-import org.sopt.dateroad.presentation.type.ProfileType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton
-import org.sopt.dateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup
-import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadTextFieldWithButton
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.util.Pattern.NICKNAME_REGEX
-import org.sopt.dateroad.presentation.util.UserPropertyAmplitude.USER_NAME
-import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.data.mapper.todata.toEditProfile
+import org.sopt.teamdateroad.presentation.type.DateChipGroupType
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton
+import org.sopt.teamdateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup
+import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadTextFieldWithButton
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.util.GalleryLauncher.DELETE_IMAGE
+import org.sopt.teamdateroad.presentation.util.GalleryLauncher.INPUT
+import org.sopt.teamdateroad.presentation.util.Pattern.NICKNAME_REGEX
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_COURSE_COUNT
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_FREE_REMAINED
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_NAME
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT
+import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_PURCHASE_COUNT
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@SuppressLint("StateFlowValueCalledInComposition")
@Composable
@@ -69,13 +76,17 @@ fun ProfileRoute(
val lifecycleOwner = LocalLifecycleOwner.current
val getGalleryLauncher = rememberLauncherForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
- viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = uri.toString()))
- viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = uri.toString()))
+ uri?.let {
+ viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = it.toString()))
+ viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = it.toString()))
+ }
}
val getPhotoPickerLauncher = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri: Uri? ->
- viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = uri.toString()))
- viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = uri.toString()))
+ uri?.let {
+ viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = it.toString()))
+ viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = it.toString()))
+ }
}
LaunchedEffect(Unit) {
@@ -112,12 +123,12 @@ fun ProfileRoute(
},
selectPhoto = {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
- getGalleryLauncher.launch("image/*")
+ getGalleryLauncher.launch(input = INPUT)
} else {
getPhotoPickerLauncher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
}
},
- deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = "")) },
+ deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = DELETE_IMAGE)) },
popUpBackStack = { Unit }
)
@@ -127,6 +138,11 @@ fun ProfileRoute(
LoadState.Success -> {
navigationToHome()
AmplitudeUtils.updateStringUserProperty(propertyName = USER_NAME, propertyValue = uiState.signUp.userSignUpInfo.name)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = 0)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_FREE_REMAINED, propertyValue = 3)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_PURCHASE_COUNT, propertyValue = 0)
+ AmplitudeUtils.updateIntUserProperty(propertyName = USER_COURSE_COUNT, propertyValue = 0)
+ AmplitudeUtils.updateIntUserProperty(propertyName = DATE_SCHEDULE_NUM, propertyValue = 0)
}
LoadState.Error -> DateRoadErrorView()
@@ -150,12 +166,12 @@ fun ProfileRoute(
},
selectPhoto = {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
- getGalleryLauncher.launch("image/*")
+ getGalleryLauncher.launch(INPUT)
} else {
getPhotoPickerLauncher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
}
},
- deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = "")) },
+ deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = DELETE_IMAGE)) },
popUpBackStack = { popBackStack() }
)
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt
index b11224d7e..41558573c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt
@@ -1,23 +1,23 @@
-package org.sopt.dateroad.presentation.ui.profile
+package org.sopt.teamdateroad.presentation.ui.profile
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.data.mapper.todata.toEditProfile
-import org.sopt.dateroad.domain.model.EditProfile
-import org.sopt.dateroad.domain.model.SignUp
-import org.sopt.dateroad.domain.usecase.GetNicknameCheckUseCase
-import org.sopt.dateroad.domain.usecase.GetUserUseCase
-import org.sopt.dateroad.domain.usecase.PatchEditProfileUseCase
-import org.sopt.dateroad.domain.usecase.PostSignUpUseCase
-import org.sopt.dateroad.domain.usecase.SetAccessTokenUseCase
-import org.sopt.dateroad.domain.usecase.SetRefreshTokenUseCase
-import org.sopt.dateroad.presentation.type.ProfileType
-import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
-import org.sopt.dateroad.presentation.util.Token
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.data.mapper.todata.toEditProfile
+import org.sopt.teamdateroad.domain.model.EditProfile
+import org.sopt.teamdateroad.domain.model.SignUp
+import org.sopt.teamdateroad.domain.usecase.GetNicknameCheckUseCase
+import org.sopt.teamdateroad.domain.usecase.GetUserUseCase
+import org.sopt.teamdateroad.domain.usecase.PatchEditProfileUseCase
+import org.sopt.teamdateroad.domain.usecase.PostSignUpUseCase
+import org.sopt.teamdateroad.domain.usecase.SetAccessTokenUseCase
+import org.sopt.teamdateroad.domain.usecase.SetRefreshTokenUseCase
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult
+import org.sopt.teamdateroad.presentation.util.Token
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class ProfileViewModel @Inject constructor(
@@ -75,7 +75,7 @@ class ProfileViewModel @Inject constructor(
signUp = currentState.signUp.copy(userSignUpInfo = currentState.signUp.userSignUpInfo.copy(name = event.name)),
isNicknameButtonEnabled = event.name.length in MIN_NICKNAME_LENGTH..MAX_NICKNAME_LENGTH,
nicknameValidateResult = when {
- event.name.length < 2 -> TextFieldValidateResult.ValidationError
+ event.name.length < MIN_NICKNAME_LENGTH -> TextFieldValidateResult.ValidationError
else -> TextFieldValidateResult.Basic
}
)
@@ -84,7 +84,7 @@ class ProfileViewModel @Inject constructor(
editProfile = currentState.editProfile.copy(name = event.name),
isNicknameButtonEnabled = event.name.length in MIN_NICKNAME_LENGTH..MAX_NICKNAME_LENGTH,
nicknameValidateResult = when {
- event.name.length < 2 -> TextFieldValidateResult.ValidationError
+ event.name.length < MIN_NICKNAME_LENGTH -> TextFieldValidateResult.ValidationError
else -> TextFieldValidateResult.Basic
}
)
diff --git a/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt
new file mode 100644
index 000000000..3e0be2b64
--- /dev/null
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt
@@ -0,0 +1,52 @@
+package org.sopt.teamdateroad.presentation.ui.profile.navigation
+
+import androidx.navigation.NavController
+import androidx.navigation.NavGraphBuilder
+import androidx.navigation.NavType
+import androidx.navigation.compose.composable
+import androidx.navigation.navArgument
+import org.sopt.teamdateroad.presentation.type.ProfileType
+import org.sopt.teamdateroad.presentation.ui.profile.ProfileRoute
+import org.sopt.teamdateroad.presentation.ui.profile.navigation.ProfileRoute.ROUTE_WITH_ARGUMENT
+
+fun NavController.navigationProfile(profileType: ProfileType) {
+ navigate(
+ route = ProfileRoute.route(profileType = profileType)
+ )
+}
+
+fun NavGraphBuilder.profileNavGraph(
+ navigateToHome: () -> Unit,
+ navigateToMyPage: () -> Unit,
+ popBackStack: () -> Unit
+
+) {
+ composable(
+ route = ROUTE_WITH_ARGUMENT,
+ arguments = listOf(
+ navArgument(ProfileRoute.ARGUMENT) {
+ type = NavType.StringType
+ }
+ )
+ ) { backStackEntry ->
+ val profileType = backStackEntry.arguments?.getString(ProfileRoute.ARGUMENT)?.let {
+ ProfileType.valueOf(it)
+ } ?: ProfileType.EDIT
+
+ ProfileRoute(
+ navigationToHome = navigateToHome,
+ navigationToMyPage = navigateToMyPage,
+ profileType = profileType,
+ popBackStack = popBackStack
+
+ )
+ }
+}
+
+object ProfileRoute {
+ const val ROUTE = "Profile"
+ const val ARGUMENT = "profileType"
+ const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ARGUMENT}"
+
+ fun route(profileType: ProfileType) = "$ROUTE/${profileType.name}"
+}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt
similarity index 63%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt
index 720c7ed08..ef6677f2b 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.ui.read
+package org.sopt.teamdateroad.presentation.ui.read
-import org.sopt.dateroad.domain.model.Course
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Course
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class ReadContract {
data class ReadUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt
index 97ee380ec..e817e799c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.read
+package org.sopt.teamdateroad.presentation.ui.read
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -27,20 +27,20 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard
-import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.util.ViewPath.MY_COURSE_READ
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard
+import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.util.ViewPath.MY_COURSE_READ
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun ReadRoute(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt
index 5555f7e63..fb3c0c7e4 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.read
+package org.sopt.teamdateroad.presentation.ui.read
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.usecase.GetMyCourseReadUseCase
-import org.sopt.dateroad.domain.usecase.GetNicknameUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.usecase.GetMyCourseReadUseCase
+import org.sopt.teamdateroad.domain.usecase.GetNicknameUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class ReadViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt
similarity index 76%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt
index d25c3fded..3b8bd856a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.read.navigation
+package org.sopt.teamdateroad.presentation.ui.read.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.ui.read.ReadRoute
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.ui.read.ReadRoute
fun NavController.navigationRead(navOptions: NavOptions) {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt
similarity index 65%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt
index 5e4960ffa..905e21198 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt
@@ -1,15 +1,15 @@
-package org.sopt.dateroad.presentation.ui.signin
+package org.sopt.teamdateroad.presentation.ui.signin
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class SignInContract {
data class SignInUiState(
val loadState: LoadState = LoadState.Idle,
val authTokenLoadState: LoadState = LoadState.Idle,
- var isWebViewOpened: Boolean = false
+ val isWebViewOpened: Boolean = false
) : UiState
sealed interface SignInSideEffect : UiSideEffect {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt
similarity index 86%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt
index 1e22079cb..3ecca34a2 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.signin
+package org.sopt.teamdateroad.presentation.ui.signin
import android.content.Context
import androidx.compose.foundation.Image
@@ -23,15 +23,16 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
import com.kakao.sdk.auth.model.OAuthToken
import com.kakao.sdk.user.UserApiClient
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.SignIn
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadKakaoLoginButton
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView
-import org.sopt.dateroad.presentation.util.WebViewUrl.PRIVACY_POLICY_URL
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.SignIn
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadKakaoLoginButton
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView
+import org.sopt.teamdateroad.presentation.util.SignIn.PLATFORM
+import org.sopt.teamdateroad.presentation.util.WebViewUrl.PRIVACY_POLICY_URL
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
fun setLayoutLoginKakaoClickListener(context: Context, callback: (OAuthToken?, Throwable?) -> Unit) {
if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) {
@@ -51,7 +52,7 @@ fun SignInRoute(
val lifecycleOwner = LocalLifecycleOwner.current
val context = LocalContext.current
- val callback: (OAuthToken?, Throwable?) -> Unit = { oAuthToken, message ->
+ val callback: (OAuthToken?, Throwable?) -> Unit = { oAuthToken, _ ->
if (oAuthToken != null) {
viewModel.setKakaoAccessToken(oAuthToken.accessToken)
}
@@ -73,7 +74,7 @@ fun SignInRoute(
LaunchedEffect(uiState.authTokenLoadState) {
when (uiState.authTokenLoadState) {
- LoadState.Success -> viewModel.postSignIn(signIn = SignIn("KAKAO"))
+ LoadState.Success -> viewModel.postSignIn(signIn = SignIn(PLATFORM))
else -> Unit
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt
similarity index 78%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt
index 491c9b909..87606e4a3 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt
@@ -1,18 +1,18 @@
-package org.sopt.dateroad.presentation.ui.signin
+package org.sopt.teamdateroad.presentation.ui.signin
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.model.SignIn
-import org.sopt.dateroad.domain.usecase.GetAccessTokenUseCase
-import org.sopt.dateroad.domain.usecase.GetRefreshTokenUseCase
-import org.sopt.dateroad.domain.usecase.PostSignInUseCase
-import org.sopt.dateroad.domain.usecase.SetAccessTokenUseCase
-import org.sopt.dateroad.domain.usecase.SetRefreshTokenUseCase
-import org.sopt.dateroad.presentation.util.Token
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.SignIn
+import org.sopt.teamdateroad.domain.usecase.GetAccessTokenUseCase
+import org.sopt.teamdateroad.domain.usecase.GetRefreshTokenUseCase
+import org.sopt.teamdateroad.domain.usecase.PostSignInUseCase
+import org.sopt.teamdateroad.domain.usecase.SetAccessTokenUseCase
+import org.sopt.teamdateroad.domain.usecase.SetRefreshTokenUseCase
+import org.sopt.teamdateroad.presentation.util.Token
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class SignInViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt
index 9bd2c3ee8..4b89dc6d9 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt
@@ -1,9 +1,9 @@
-package org.sopt.dateroad.presentation.ui.signin.navigation
+package org.sopt.teamdateroad.presentation.ui.signin.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.ui.signin.SignInRoute
+import org.sopt.teamdateroad.presentation.ui.signin.SignInRoute
fun NavController.navigationSignIn() {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt
index 8085b3790..7f679d29c 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.splash
+package org.sopt.teamdateroad.presentation.ui.splash
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -10,8 +10,8 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
-import org.sopt.dateroad.R
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun SplashScreen() {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt
similarity index 67%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt
index 0a593cb3f..d9ef96eb1 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.timeline
+package org.sopt.teamdateroad.presentation.ui.timeline
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class TimelineContract {
data class TimelineUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt
similarity index 81%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt
index 7f893c44c..a66917bd5 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.timeline
+package org.sopt.teamdateroad.presentation.ui.timeline
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -24,30 +24,30 @@ import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.PagerState
import com.google.accompanist.pager.rememberPagerState
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.type.TimelineTimeType
-import org.sopt.dateroad.presentation.type.EmptyViewType
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton
-import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription
-import org.sopt.dateroad.presentation.ui.component.dotsindicator.DotsIndicator
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.ui.timeline.component.TimelineCard
-import org.sopt.dateroad.presentation.util.TimelineAmplitude.COUNT_DATE_SCHEDULE
-import org.sopt.dateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM
-import org.sopt.dateroad.presentation.util.TimelineAmplitude.VIEW_DATE_SCHEDULE
-import org.sopt.dateroad.presentation.util.ViewPath.TIMELINE
-import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.presentation.type.EmptyViewType
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton
+import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription
+import org.sopt.teamdateroad.presentation.ui.component.dotsindicator.DotsIndicator
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.ui.timeline.component.TimelineCard
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.COUNT_DATE_SCHEDULE
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.VIEW_DATE_SCHEDULE
+import org.sopt.teamdateroad.presentation.util.ViewPath.TIMELINE
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@OptIn(ExperimentalPagerApi::class)
@Composable
@@ -185,7 +185,7 @@ fun TimelineScreen(
) {
DateRoadFilledButton(
isEnabled = true,
- textContent = stringResource(id = R.string.button_past_date),
+ textContent = stringResource(id = R.string.timeline_past_date),
onClick = onPastButtonClick,
textStyle = DateRoadTheme.typography.bodyBold15,
enabledBackgroundColor = DateRoadTheme.colors.gray100,
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt
similarity index 84%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt
index c43346e9f..bd326c80f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt
@@ -1,13 +1,13 @@
-package org.sopt.dateroad.presentation.ui.timeline
+package org.sopt.teamdateroad.presentation.ui.timeline
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.type.TimelineTimeType
-import org.sopt.dateroad.domain.usecase.GetTimelinesUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.type.TimelineTimeType
+import org.sopt.teamdateroad.domain.usecase.GetTimelinesUseCase
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class TimelineViewModel @Inject constructor(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt
index 429c500a9..6c43fbf71 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.timeline.component
+package org.sopt.teamdateroad.presentation.ui.timeline.component
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
@@ -29,16 +29,16 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Timeline
-import org.sopt.dateroad.presentation.type.DateTagType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.ui.theme.DateRoadTheme
-import org.sopt.dateroad.ui.theme.defaultDateRoadColors
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Timeline
+import org.sopt.teamdateroad.presentation.type.DateTagType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors
@Composable
fun TimelineCard(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt
index dce874073..da1a4517d 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt
@@ -1,14 +1,14 @@
-package org.sopt.dateroad.presentation.ui.timeline.navigation
+package org.sopt.teamdateroad.presentation.ui.timeline.navigation
import androidx.compose.foundation.layout.PaddingValues
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
-import org.sopt.dateroad.presentation.model.MainNavigationBarRoute
-import org.sopt.dateroad.presentation.type.EnrollType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.timeline.TimelineRoute
+import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute
+import org.sopt.teamdateroad.presentation.type.EnrollType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.timeline.TimelineRoute
fun NavController.navigationTimeline(navOptions: NavOptions) {
navigate(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt
similarity index 79%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt
index aab51df94..020e09973 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt
@@ -1,11 +1,11 @@
-package org.sopt.dateroad.presentation.ui.timelinedetail
+package org.sopt.teamdateroad.presentation.ui.timelinedetail
import android.content.Context
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.presentation.util.base.UiEvent
-import org.sopt.dateroad.presentation.util.base.UiSideEffect
-import org.sopt.dateroad.presentation.util.base.UiState
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.presentation.util.base.UiEvent
+import org.sopt.teamdateroad.presentation.util.base.UiSideEffect
+import org.sopt.teamdateroad.presentation.util.base.UiState
+import org.sopt.teamdateroad.presentation.util.view.LoadState
class TimelineDetailContract {
data class TimelineDetailUiState(
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt
index b2f88b626..c05bf898f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.timelinedetail
+package org.sopt.teamdateroad.presentation.ui.timelinedetail
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -35,35 +35,45 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.flowWithLifecycle
-import org.sopt.dateroad.R
-import org.sopt.dateroad.domain.model.Place
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
-import org.sopt.dateroad.presentation.type.PlaceCardType
-import org.sopt.dateroad.presentation.type.TagType
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogType
-import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType
-import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
-import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog
-import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag
-import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag
-import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView
-import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView
-import org.sopt.dateroad.presentation.util.modifier.noRippleClickable
-import org.sopt.dateroad.presentation.util.view.LoadState
-import org.sopt.dateroad.ui.theme.DATEROADTheme
-import org.sopt.dateroad.ui.theme.DateRoadTheme
+import org.sopt.teamdateroad.R
+import org.sopt.teamdateroad.domain.model.Place
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName
+import org.sopt.teamdateroad.presentation.type.PlaceCardType
+import org.sopt.teamdateroad.presentation.type.TagType
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType
+import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType
+import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet
+import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog
+import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag
+import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag
+import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView
+import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView
+import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DURATION
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_CLOSE_KAKAO
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_KAKAO_SHARE
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_OPEN_KAKAO
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.DATE_COURSE_NUM
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.DATE_TOTAL_DURATION
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.VIEW_PATH
+import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.VIEW_SCHEDULE_DETAILS
+import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils
+import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable
+import org.sopt.teamdateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.ui.theme.DATEROADTheme
+import org.sopt.teamdateroad.ui.theme.DateRoadTheme
@Composable
fun TimelineDetailRoute(
popBackStack: () -> Unit,
timelineId: Int,
- timelineType: TimelineType
+ timelineType: TimelineType,
+ previousView: String
) {
val viewModel: TimelineDetailViewModel = hiltViewModel()
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
@@ -83,6 +93,16 @@ fun TimelineDetailRoute(
}
}
+ LaunchedEffect(uiState.loadState, lifecycleOwner) {
+ if (uiState.loadState == LoadState.Success) {
+ AmplitudeUtils.trackEventWithProperty(
+ eventName = VIEW_SCHEDULE_DETAILS,
+ propertyName = VIEW_PATH,
+ propertyValue = previousView
+ )
+ }
+ }
+
when (uiState.loadState) {
LoadState.Idle -> DateRoadIdleView()
@@ -94,7 +114,18 @@ fun TimelineDetailRoute(
timelineType = timelineType,
onTopBarItemClick = popBackStack,
onButtonClick = { viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteBottomSheet(true)) },
- showKakaoClicked = { viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(true)) },
+ showKakaoClicked = {
+ viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(true))
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = CLICK_KAKAO_SHARE,
+ mapOf(
+ DATE_COURSE_NUM to uiState.timelineDetail.places.size,
+ DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place ->
+ durationToInt(place.duration)
+ }
+ )
+ )
+ },
setShowKakaoDialog = { showKakaoDialog -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(showKakaoDialog)) },
setShowDeleteBottomSheet = { showDeleteBottomSheet -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteBottomSheet(showDeleteBottomSheet)) },
setShowDeleteDialog = { showDeleteDialog -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteDialog(showDeleteDialog)) },
@@ -169,7 +200,7 @@ fun TimelineDetailScreen(
style = DateRoadTheme.typography.bodyMed15,
color = DateRoadTheme.colors.black
)
- if (uiState.timelineDetail.dDay != "") {
+ if (uiState.timelineDetail.dDay.isNotEmpty()) {
DateRoadTextTag(
textContent = uiState.timelineDetail.dDay,
tagContentType = TagType.TIMELINE_D_DAY
@@ -287,9 +318,29 @@ fun TimelineDetailScreen(
onDismissRequest = { setShowKakaoDialog(false) },
onClickConfirm = {
setShowKakaoDialog(false)
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = CLICK_OPEN_KAKAO,
+ mapOf(
+ DATE_COURSE_NUM to uiState.timelineDetail.places.size,
+ DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place ->
+ durationToInt(place.duration)
+ }
+ )
+ )
onKakaoShareConfirm()
},
- onClickDismiss = { setShowKakaoDialog(false) }
+ onClickDismiss = {
+ setShowKakaoDialog(false)
+ AmplitudeUtils.trackEventWithProperties(
+ eventName = CLICK_CLOSE_KAKAO,
+ mapOf(
+ DATE_COURSE_NUM to uiState.timelineDetail.places.size,
+ DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place ->
+ durationToInt(place.duration)
+ }
+ )
+ )
+ }
)
}
@@ -360,3 +411,7 @@ fun TimelineDetailScreenPreview() {
)
}
}
+
+fun durationToInt(duration: String): Int {
+ return duration.replace(DURATION, "").trim().toIntOrNull() ?: 0
+}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt
similarity index 82%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt
index 2b8e85004..71efd6fbd 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.timelinedetail
+package org.sopt.teamdateroad.presentation.ui.timelinedetail
import android.content.Context
import androidx.lifecycle.viewModelScope
@@ -8,12 +8,15 @@ import com.kakao.sdk.share.WebSharerClient
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.launch
-import org.sopt.dateroad.domain.model.TimelineDetail
-import org.sopt.dateroad.domain.usecase.DeleteTimelineUseCase
-import org.sopt.dateroad.domain.usecase.GetNicknameUseCase
-import org.sopt.dateroad.domain.usecase.GetTimelineDetailUseCase
-import org.sopt.dateroad.presentation.util.base.BaseViewModel
-import org.sopt.dateroad.presentation.util.view.LoadState
+import org.sopt.teamdateroad.domain.model.TimelineDetail
+import org.sopt.teamdateroad.domain.usecase.DeleteTimelineUseCase
+import org.sopt.teamdateroad.domain.usecase.GetNicknameUseCase
+import org.sopt.teamdateroad.domain.usecase.GetTimelineDetailUseCase
+import org.sopt.teamdateroad.presentation.util.ShareKakao.START_AT
+import org.sopt.teamdateroad.presentation.util.ShareKakao.TEMPLATE_ID
+import org.sopt.teamdateroad.presentation.util.ShareKakao.USER_NAME
+import org.sopt.teamdateroad.presentation.util.base.BaseViewModel
+import org.sopt.teamdateroad.presentation.util.view.LoadState
@HiltViewModel
class TimelineDetailViewModel @Inject constructor(
@@ -62,8 +65,8 @@ class TimelineDetailViewModel @Inject constructor(
val templateId = 109999
val templateArgs = mutableMapOf()
- templateArgs["userName"] = getNickNameUseCase()
- templateArgs["startAt"] = timelineDetail.startAt
+ templateArgs[USER_NAME] = getNickNameUseCase()
+ templateArgs[START_AT] = timelineDetail.startAt
timelineDetail.places.forEachIndexed { index, place ->
if (index < 5) {
@@ -73,13 +76,13 @@ class TimelineDetailViewModel @Inject constructor(
}
if (ShareClient.instance.isKakaoTalkSharingAvailable(context)) {
- ShareClient.instance.shareCustom(context, templateId.toLong(), templateArgs) { sharingResult, error ->
+ ShareClient.instance.shareCustom(context, TEMPLATE_ID, templateArgs) { sharingResult, error ->
if (sharingResult != null) {
context.startActivity(sharingResult.intent)
}
}
} else {
- val sharerUrl = WebSharerClient.instance.makeCustomUrl(templateId.toLong(), templateArgs)
+ val sharerUrl = WebSharerClient.instance.makeCustomUrl(TEMPLATE_ID, templateArgs)
try {
KakaoCustomTabsClient.openWithDefault(context, sharerUrl)
} catch (e: UnsupportedOperationException) {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt
similarity index 83%
rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt
index dfc9c1efa..c88e8b6b7 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.ui.timelinedetail.navigation
+package org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
@@ -6,14 +6,15 @@ import androidx.navigation.NavOptions
import androidx.navigation.NavType
import androidx.navigation.compose.composable
import androidx.navigation.navArgument
-import org.sopt.dateroad.presentation.type.TimelineType
-import org.sopt.dateroad.presentation.ui.timelinedetail.TimelineDetailRoute
+import org.sopt.teamdateroad.presentation.type.TimelineType
+import org.sopt.teamdateroad.presentation.ui.timelinedetail.TimelineDetailRoute
fun NavController.navigateToTimelineDetail(timelineType: TimelineType, timelineId: Int, navOptions: NavOptions? = null) {
navigate(TimelineDetailRoutes.route(timelineType, timelineId), navOptions)
}
fun NavGraphBuilder.timelineDetailGraph(
+ viewPath: String,
popBackStack: () -> Unit
) {
composable(
@@ -29,7 +30,8 @@ fun NavGraphBuilder.timelineDetailGraph(
TimelineDetailRoute(
popBackStack = popBackStack,
timelineId = timelineId,
- timelineType = timelineType
+ timelineType = timelineType,
+ previousView = viewPath
)
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt
similarity index 58%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt
index c6894b405..c6984b880 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt
@@ -1,71 +1,41 @@
-package org.sopt.dateroad.presentation.util
+package org.sopt.teamdateroad.presentation.util
-object PointHistoryTab {
- const val GAINED_HISTORY_POSITION = 0
- const val USED_HISTORY_POSITION = 1
-}
-
-object EnrollScreen {
- const val FIRST = 1
- const val SECOND = 2
- const val THIRD = 3
- const val MAX_ITEMS = 10
- const val TITLE_MIN_LENGTH = 5
-}
-
-object TimePicker {
- const val AM = "오전"
- const val PM = "오후"
+object CourseDetail {
+ const val POINT_LACK = 50
}
-object TotalCostZero {
- const val ZERO_COST = "무지출"
+object CourseDetailAmplitude {
+ const val VIEW_COURSE_DETAILS = "view_course_details"
+ const val CLICK_COURSE_BACK = "click_course_back"
+ const val CLICK_COURSE_LIKES = "click_course_likes"
+ const val COURSE_LIST_ID = "course_list_id"
+ const val COURSE_LIST_TITLE = "course_list_title"
+ const val CLICK_COURSE_PURCHASE = "click_course_purchase"
+ const val PURCHASE_SUCCESS = "purchase_success"
+ const val COURSE_LIST_LIKE = "course_list_like"
}
object DatePicker {
const val DATE_PATTERN = "yyyy.MM.dd"
-}
-
-object WebViewUrl {
- const val PRIVACY_POLICY_URL = "https://www.notion.so/hooooooni/04da4aa279ca4b599193784091a52859"
- const val REPORT_URL = "https://tally.so/r/w4L1a5"
- const val ASK_URL = "https://dateroad.notion.site/1055d2f7bfe94b3fa6c03709448def21?pvs=4"
+ const val YEAR_START = 2000
+ const val YEAR_END = 2024
+ const val YEAR_START_INDEX = 24
+ const val MONTH_START = 1
+ const val MONTH_END = 12
+ const val DAY_START = 1
+ const val DAY_END = 31
+ const val SEPARATOR = "."
}
object Default {
const val REGION = "지역"
+ const val DRAGGED_DISTANCE = 0f
+ const val CLICKABLE_DELAY = 500L
}
-object Point {
- const val POINT = 50
- const val POINT_USED = "POINT_USED"
- const val POINT_USED_DESCRIPTION = "코스 열람하기"
-}
-
-object Token {
- const val BEARER = "Bearer "
-}
-
-object Time {
- const val TIME = " 시간"
-}
-object LoadingView {
- const val LOTTIE = "loading.json"
- const val CLIPMIN = 0
- const val CLIPMAX = 1200
-}
-
-object Pattern {
- private const val NICKNAME_PATTERN = "^[ㄱ-ㅎ가-힣a-zA-Z0-9]*$"
- val NICKNAME_REGEX = Regex(NICKNAME_PATTERN)
-}
-
-object ViewPath {
- const val HOME = "홈"
- const val TIMELINE = "데이트 일정"
- const val MY_COURSE_READ = "내가 열람한 코스"
- const val COURSE_DETAIL = "코스 상세"
- const val LOOK = "코스 둘러보기"
+object DurationPicker {
+ const val DURATION_START = 1
+ const val DURATION_END = 12
}
object EnrollAmplitude {
@@ -103,16 +73,113 @@ object EnrollAmplitude {
const val COURSE_COST = "course_cost"
}
+object EnrollScreen {
+ const val FIRST = 1
+ const val SECOND = 2
+ const val THIRD = 3
+ const val MAX_ITEMS = 10
+ const val TITLE_MIN_LENGTH = 5
+}
+
+object GalleryLauncher {
+ const val INPUT = "image/*"
+ const val DELETE_IMAGE = ""
+}
+
+object Home {
+ const val ADVERTISEMENT_DELAY = 4000L
+}
+
+object HomeAmplitude {
+ const val VIEW_MAIN = "view_main"
+ const val USER_NAME = "user_name"
+ const val USER_POINT = "user_point"
+ const val COURSE_LIST_ID = "course_list_id"
+ const val COURSE_LIST_TITLE = "course_list_title"
+ const val COURSE_LIST_LOCATION = "course_list_location"
+ const val COURSE_LIST_COST = "course_list_cost"
+ const val HOT = "Hot: "
+ const val NEW = " / New: "
+}
+
+object LoadingView {
+ const val LOTTIE = "loading.json"
+ const val CLIP_MIN = 0
+ const val CLIP_MAX = 1200
+}
+
object MyCourseAmplitude {
const val VIEW_PURCHASED_COURSE = "view_purchased_course"
const val CLICK_PURCHASED_BACK = "click_purchased_back"
}
+object Onboarding {
+ const val FIRST = 0
+ val FIRST_PAGE_KEYWORD = listOf("포인트", "데이트 코스", "100", "다양한")
+ val KEYWORD = listOf("100 포인트", "다양한")
+}
+
+object Pattern {
+ private const val NICKNAME_PATTERN = "^[ㄱ-ㅎ가-힣a-zA-Z0-9]*$"
+ val NICKNAME_REGEX = Regex(NICKNAME_PATTERN)
+}
+
+object Point {
+ const val POINT = 50
+ const val POINT_USED = "POINT_USED"
+ const val POINT_USED_DESCRIPTION = "코스 열람하기"
+}
+
+object PointHistoryTab {
+ const val GAINED_HISTORY_POSITION = 0
+ const val USED_HISTORY_POSITION = 1
+}
+
+object ShareKakao {
+ const val TEMPLATE_ID = 109999L
+ const val USER_NAME = "userName"
+ const val START_AT = "startAt"
+}
+
+object SignIn {
+ const val PLATFORM = "KAKAO"
+}
+
+object Time {
+ const val TIME = " 시간"
+}
+
object TimelineAmplitude {
const val VIEW_DATE_SCHEDULE = "view_date_schedule"
const val COUNT_DATE_SCHEDULE = "count_date_schedule"
const val CLICK_ADD_SCHEDULE = "click_add_schedule"
const val DATE_SCHEDULE_NUM = "date_schedule_num"
+ const val DURATION = "시간"
+}
+
+object TimelineDetailAmplitude {
+ const val VIEW_SCHEDULE_DETAILS = "view_schedule_details"
+ const val CLICK_KAKAO_SHARE = "click_kakao_share"
+ const val CLICK_CLOSE_KAKAO = "click_close_kakao"
+ const val CLICK_OPEN_KAKAO = "click_open_kakao"
+ const val VIEW_PATH = "view_path"
+ const val DATE_COURSE_NUM = "date_course_num"
+ const val DATE_TOTAL_DURATION = "date_total_duration"
+}
+
+object TimePicker {
+ const val AM = "오전"
+ const val PM = "오후"
+ const val AM_ENG = "AM"
+ const val PM_ENG = "PM"
+ const val HOUR_START = 1
+ const val HOUR_END = 12
+ const val MINUTE_START = 0
+ const val MINUTE_END = 59
+}
+
+object Token {
+ const val BEARER = "Bearer "
}
object UserPropertyAmplitude {
@@ -121,5 +188,19 @@ object UserPropertyAmplitude {
const val USER_FREE_REMAINED = "user_free_remained"
const val USER_PURCHASE_COUNT = "user_purchase_count"
const val USER_COURSE_COUNT = "user_course_count"
- const val USER_SCHEDULE_NUM = "user_schedule_num"
+ const val DATE_SCHEDULE_NUM = "date_schedule_num"
+}
+
+object ViewPath {
+ const val HOME = "홈"
+ const val TIMELINE = "데이트 일정"
+ const val MY_COURSE_READ = "내가 열람한 코스"
+ const val COURSE_DETAIL = "코스 상세"
+ const val LOOK = "코스 둘러보기"
+}
+
+object WebViewUrl {
+ const val PRIVACY_POLICY_URL = "https://www.notion.so/hooooooni/04da4aa279ca4b599193784091a52859"
+ const val REPORT_URL = "https://tally.so/r/w4L1a5"
+ const val ASK_URL = "https://dateroad.notion.site/1055d2f7bfe94b3fa6c03709448def21?pvs=4"
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt
index 3cbe4630e..666329db8 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt
@@ -1,10 +1,10 @@
-package org.sopt.dateroad.presentation.util.amplitude
+package org.sopt.teamdateroad.presentation.util.amplitude
import android.content.Context
import com.amplitude.android.Amplitude
import com.amplitude.android.Configuration
import com.amplitude.core.events.Identify
-import org.sopt.dateroad.BuildConfig
+import org.sopt.teamdateroad.BuildConfig
object AmplitudeUtils {
private lateinit var amplitude: Amplitude
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt
similarity index 92%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt
index f56743741..ea513903a 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.util.base
+package org.sopt.teamdateroad.presentation.util.base
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@@ -38,7 +38,7 @@ abstract class BaseViewModel Unit
) {
- private var draggedDistance by mutableFloatStateOf(0f)
+ private var draggedDistance by mutableFloatStateOf(DRAGGED_DISTANCE)
private var initiallyDraggedElement by mutableStateOf(null)
var currentIndexOfDraggedItem by mutableStateOf(null)
private val initialOffsets: Pair?
get() = initiallyDraggedElement?.let {
Pair(it.offset, it.offsetEnd)
}
- val elementDisplacement: Float?
- get() = currentIndexOfDraggedItem
- ?.let { lazyListState.getVisibleItemInfoFor(absoluteIndex = it) }
- ?.let { item -> (initiallyDraggedElement?.offset ?: 0f).toFloat() + draggedDistance - item.offset }
private val currentElement: LazyListItemInfo?
get() = currentIndexOfDraggedItem?.let {
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt
similarity index 87%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt
index b5fc809cd..d327d6734 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.util.lazylist
+package org.sopt.teamdateroad.presentation.util.lazylist
import androidx.compose.foundation.lazy.LazyListItemInfo
import androidx.compose.foundation.lazy.LazyListState
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt
similarity index 89%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt
index 8287b1c08..9c0a8b380 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.util.modifier
+package org.sopt.teamdateroad.presentation.util.modifier
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -15,6 +15,7 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
+import org.sopt.teamdateroad.presentation.util.Default.CLICKABLE_DELAY
inline fun Modifier.noRippleClickable(
crossinline onClick: () -> Unit = {}
@@ -39,7 +40,7 @@ fun Modifier.noRippleDebounceClickable(
clickable = false
CoroutineScope(Dispatchers.Main).launch {
onClick()
- delay(500)
+ delay(CLICKABLE_DELAY)
clickable = true
}
}
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt
similarity index 74%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt
index 33d1b73b8..d1e68f168 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.util.mutablelist
+package org.sopt.teamdateroad.presentation.util.mutablelist
fun MutableList.move(from: Int, to: Int): MutableList {
if (from == to) return this
diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt
similarity index 57%
rename from app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt
rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt
index e02e0f0bf..10e74c71f 100644
--- a/app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.presentation.util.view
+package org.sopt.teamdateroad.presentation.util.view
enum class LoadState {
Idle,
diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt
similarity index 96%
rename from app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt
rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt
index f9007a194..adb1ba2d1 100644
--- a/app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.ui.theme
+package org.sopt.teamdateroad.ui.theme
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.staticCompositionLocalOf
@@ -48,6 +48,8 @@ data class DateRoadColors(
val purple500: Color,
val purple600: Color,
val purple700: Color,
+
+ // Sub
val pink100: Color,
val pink200: Color,
val pink300: Color,
@@ -82,6 +84,8 @@ val defaultDateRoadColors = DateRoadColors(
purple500 = Purple500,
purple600 = Purple600,
purple700 = Purple700,
+
+ // Sub
pink100 = Pink100,
pink200 = Pink200,
pink300 = Pink300,
@@ -102,6 +106,8 @@ val defaultDateRoadColors = DateRoadColors(
// Notif
alertRed = AlertRed,
+
+ // Kakao
kakaoYellow = KakaoYellow
)
diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt
similarity index 97%
rename from app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt
rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt
index 29fadb183..1f64dd9fc 100644
--- a/app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.ui.theme
+package org.sopt.teamdateroad.ui.theme
import android.app.Activity
import androidx.compose.material3.MaterialTheme
diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt
similarity index 96%
rename from app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt
rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt
index 160ca1240..0dad377dc 100644
--- a/app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt
+++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad.ui.theme
+package org.sopt.teamdateroad.ui.theme
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.staticCompositionLocalOf
@@ -6,11 +6,10 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.unit.sp
-import org.sopt.dateroad.R
+import org.sopt.teamdateroad.R
val SuitBold = FontFamily(Font(R.font.suit_bold))
val SuitExtraBold = FontFamily(Font(R.font.suit_extrabold))
-val SuitExtraLight = FontFamily(Font(R.font.suit_extralight))
val SuitMedium = FontFamily(Font(R.font.suit_medium))
val SuitRegular = FontFamily(Font(R.font.suit_regular))
val SuitSemiBold = FontFamily(Font(R.font.suit_semibold))
diff --git a/app/src/main/res/font/suit_extralight.ttf b/app/src/main/res/font/suit_extralight.ttf
deleted file mode 100644
index c43b9a50b..000000000
Binary files a/app/src/main/res/font/suit_extralight.ttf and /dev/null differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6f92ef7c9..4ed1bb58e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,8 +11,9 @@
완료
적용하기
%s시간
+ 더보기
-
+
취소
확인
확인했어요
@@ -90,23 +91,13 @@
5만원 이하
3만원 이하
-
- 데이트 코스를 등록하면\n 포인트를 얻을 수 있어요
- 내 데이트를 자랑하고 포인트를 받아보세요
- 처음 3번 무료로\n데이트 코스를 열람할 수 있어요
- 무료 찬스로 데이트를 열람하세요
- 쌓인 포인트로\n다양한 데이트 코스를 둘러보세요
- 다른 커플의 데이트, 궁금하지 않으세요?
- 모인 포인트는 데이트 장소를\n예약할 때 현금처럼 사용 가능해요
- 추후 만들어질 기능을 기대해주세요
-
데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요
최초 3회 무료 찬스로\n다른 사람의 데이트 코스를 구경하세요!
(이후에는 50포인트로 코스를 열람할 수 있어요)
데이트 코스를 등록하면\n100 포인트를 얻을 수 있어요
내 연인과 함께한 데이트 코스를 자랑하고\n포인트를 받아보세요
-
+
쌓인 포인트로\n다양한 데이트 코스를 둘러보세요
모인 포인트는 데이트 장소를 예약할 때\n현금처럼 사용 가능해요
(추후 제공될 기능이에요)
@@ -176,8 +167,7 @@
삭제된 코스는 복구하실 수 없어요
신고된 게시물은 운영원칙에 따라 조치할 예정이에요
-
-
+
포인트 내역
코스 등록하기
일정 등록하기
@@ -195,28 +185,21 @@
카카오 로그인
카카오톡으로 공유하기
-
+
%1$d자 / %2$d자 이상
-
+
%1$s\님의 포인트
%1$d P
포인트 내역 보기
-
+
지역을 선택해주세요
적용하기
글 삭제
데이트 일정 설정
-
- 내가 등록한 코스
- 포인트 제도 소개
- 문의하기
- 로그아웃
- 탈퇴하기
-
-
+
나의 데이트 성향 (%1$d/%2$d)
데이트코스와 어울리는 태그를 선택해 주세요 (%1$d/%2$d)
@@ -230,7 +213,7 @@
코스 정보가 궁금하신가요?
코스 타임라인
내 일정에 추가하기
- 전체 비용
+ 전체 비용
태그
데이트 코스 설정
글 삭제
@@ -238,22 +221,13 @@
신고하기
무지출
-
+
다가오는 데이트 일정이 없어요
일정을 등록하러 가볼까요?
%1$s월 %2$s일
D-%s
%s 시작
-
- 프로필 등록하기
- 프로필 변경하기
-
-
-
- 프로필 생성하기
- 다음
-
이미지를 삽입해 주세요\n(최소 1장, 최대 10장)
장소명을 입력해주세요
@@ -277,8 +251,37 @@
데이트 예상 총 비용을 숫자로만 입력해 주세요
완료
-
- 지난 데이트 보기
+
+ %s님, 오늘은\n이런 데이트 코스 어떠세요?
+ 후기 보장 HOT 데이트 코스 둘러보기
+ 새로 올라왔어요
+ 가장 최근에 올라온 코스 보러가기
+ %d P
+ %d/%d
+
+
+ 내가 등록한 코스
+ 포인트 제도 소개
+ 문의하기
+ 로그아웃
+ 탈퇴하기
+
+
+ 프로필 생성하기
+ 다음
+
+
+ 포인트 제도 소개
+ 데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요.
+ 포인트는 데이트 코스를 등록하면 얻을 수 있어요.
+ 데이트 코스를 등록하면\n 포인트를 얻을 수 있어요
+ 내 데이트를 자랑하고 포인트를 받아보세요
+ 처음 3번 무료로\n데이트 코스를 열람할 수 있어요
+ 무료 찬스로 데이트를 열람하세요
+ 쌓인 포인트로\n다양한 데이트 코스를 둘러보세요
+ 다른 커플의 데이트, 궁금하지 않으세요?
+ 모인 포인트는 데이트 장소를\n예약할 때 현금처럼 사용 가능해요
+ 추후 만들어질 기능을 기대해주세요
내 프로필
@@ -294,32 +297,20 @@
취소
사진 등록
사진 삭제
-
-
- 포인트 제도 소개
- 데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요.
- 포인트는 데이트 코스를 등록하면 얻을 수 있어요.
-
-
- 데이트 코스 올리고 100P 받기
+ 프로필 등록하기
+ 프로필 변경하기
%s님이 지금까지\n열람한 데이트 코스\n%d개
%s님,\n아직 열람한\n데이트 코스가 없어요
열람한 코스로 데이트를 짜보세요
- 더보기
-
-
- %s님, 오늘은\n이런 데이트 코스 어떠세요?
- 후기 보장 HOT 데이트 코스 둘러보기
- 새로 올라왔어요
- 가장 최근에 올라온 코스 보러가기
- %d P
- %d/%d
+
+ 지난 데이트 보기
데이트 일정 설정
글 삭제
+ 데이트 코스 올리고 100P 받기
\ No newline at end of file
diff --git a/app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt b/app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt
similarity index 91%
rename from app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt
rename to app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt
index de092c029..0e0575736 100644
--- a/app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt
+++ b/app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt
@@ -1,4 +1,4 @@
-package org.sopt.dateroad
+package org.sopt.teamdateroad
import junit.framework.TestCase.assertEquals
import org.junit.Test
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index c77c5d0b4..68b89ace6 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,7 +2,7 @@
compileSdk = "34"
minSdk = "28"
targetSdk = "34"
-versionCode = "1"
+versionCode = "3"
versionName = "1.0.0"
jvmTarget = "1.8"
kotlinCompilerExtensionVersion = "1.5.13"
@@ -31,6 +31,7 @@ pagingCommonAndroid = "3.3.2"
googleServices = "4.4.2"
firebaseCrashlytics = "3.0.2"
firebaseBom = "33.3.0"
+firebaseCrashlyticsBuildtools = "3.0.2"
# Accompanist
accompanistPager = "0.25.0"
@@ -82,6 +83,7 @@ google-services = { group = "com.google.gms", name = "google-services", version.
google-firebase-crashlytics-gradle = { group = "com.google.firebase", name = "firebase-crashlytics-gradle", version.ref = "firebaseCrashlytics" }
google-firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" }
google-firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics-ktx" }
+firebase-crashlytics-buildtools = { group = "com.google.firebase", name = "firebase-crashlytics-buildtools", version.ref = "firebaseCrashlyticsBuildtools" }
# Accompanist
accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanistPager" }
@@ -110,7 +112,6 @@ kakao-cert = { group = "com.kakao.sdk", name = "v2-cert", version.ref = "kakao"
amplitude = { group = "com.amplitude", name = "analytics-android", version.ref = "amplitude" }
lottie-compose = { module = "com.airbnb.android:lottie-compose", version.ref = "lottieCompose" }
-
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }