Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
/.idea/misc.xml
/.idea/.name
/.idea/AndroidProjectSystem.xml
/.idea/markdown.xml
/.idea/runConfigurations.xml
.DS_Store
/build
build/
**/build/
/captures
.externalNativeBuild
.cxx
Expand Down
2 changes: 1 addition & 1 deletion .idea/appInsightsSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

67 changes: 44 additions & 23 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@ val nativeAppKey = localProperties.getProperty("kakao_NATIVE_APP_KEY_MANIFEST")?
android {
signingConfigs {
getByName("debug") {
keyAlias = localProperties["SIGNED_KEY_ALIAS"] as String?
keyPassword = localProperties["SIGNED_KEY_PASSWORD"] as String?
storeFile = localProperties["SIGNED_STORE_FILE"]?.let { file(it) }
storePassword = localProperties["SIGNED_STORE_PASSWORD"] as String?
val storeFilePath = localProperties["SIGNED_STORE_FILE"] as String?
if (storeFilePath != null) {
keyAlias = localProperties["SIGNED_KEY_ALIAS"] as String?
keyPassword = localProperties["SIGNED_KEY_PASSWORD"] as String?
storeFile = file(storeFilePath)
storePassword = localProperties["SIGNED_STORE_PASSWORD"] as String?
}
}
}
namespace = "com.toyou.toyouandroid"
Expand Down Expand Up @@ -78,44 +81,62 @@ android {
}

dependencies {
// Core Modules
implementation(project(":core:common"))
implementation(project(":core:network"))
implementation(project(":core:datastore"))
implementation(project(":core:domain"))
implementation(project(":core:data"))
implementation(project(":core:designsystem"))

// AndroidX Core
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.recyclerview:recyclerview:1.3.2")
implementation("androidx.core:core-splashscreen:1.0.1")
implementation("androidx.security:security-crypto-ktx:1.1.0-alpha06")

// Lifecycle
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.3")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3")

// Navigation
implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
implementation("androidx.security:security-crypto-ktx:1.1.0-alpha06")
implementation("androidx.tracing:tracing-perfetto-handshake:1.0.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
implementation ("androidx.recyclerview:recyclerview:1.3.2")

implementation("com.jakewharton.timber:timber:4.7.1")

implementation ("com.kakao.sdk:v2-all:2.20.3")

// Network
implementation("com.google.code.gson:gson:2.10.1")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.10.0")
implementation ("com.google.dagger:hilt-android:2.50")
kapt ("com.google.dagger:hilt-compiler:2.50")

// Hilt
implementation("com.google.dagger:hilt-android:2.50")
kapt("com.google.dagger:hilt-compiler:2.50")

// Room
implementation("androidx.room:room-runtime:2.6.1")
annotationProcessor("androidx.room:room-compiler:2.6.1")
implementation ("androidx.room:room-ktx:2.6.1")
kapt ("androidx.room:room-compiler:2.6.1")
implementation("androidx.room:room-ktx:2.6.1")
kapt("androidx.room:room-compiler:2.6.1")

// Firebase
implementation(platform("com.google.firebase:firebase-bom:33.3.0"))
implementation("com.google.firebase:firebase-analytics")
implementation ("com.google.firebase:firebase-messaging-ktx")
implementation("com.google.firebase:firebase-messaging-ktx")

// Kakao
implementation("com.kakao.sdk:v2-all:2.20.3")

// Others
implementation("com.jakewharton.timber:timber:4.7.1")
implementation("com.tbuonomo:dotsindicator:5.0")

implementation("androidx.core:core-splashscreen:1.0.1")
// Test
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
}
apply(plugin = "com.google.gms.google-services")
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.toyou.toyouHoandroid.data.create.service
package com.toyou.toyouandroid.data.create.service

import com.toyou.toyouandroid.data.create.dto.request.AnswerDto
import com.toyou.toyouandroid.data.create.dto.response.AnswerPost
Expand Down
41 changes: 38 additions & 3 deletions app/src/main/java/com/toyou/toyouandroid/di/NetworkModule.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
package com.toyou.toyouandroid.di

import com.toyou.toyouandroid.data.onboarding.service.AuthService
import com.toyou.toyouandroid.data.onboarding.service.OnboardingService
import com.toyou.toyouandroid.data.create.service.CreateService
import com.toyou.toyouandroid.data.emotion.service.EmotionService
import com.toyou.toyouandroid.data.mypage.service.MypageService
import com.toyou.toyouandroid.data.home.service.HomeService
import com.toyou.toyouandroid.data.mypage.service.MypageService
import com.toyou.toyouandroid.data.notice.service.NoticeService
import com.toyou.toyouandroid.data.onboarding.service.AuthService
import com.toyou.toyouandroid.data.onboarding.service.OnboardingService
import com.toyou.toyouandroid.data.record.service.RecordService
import com.toyou.toyouandroid.data.social.service.SocialService
import com.toyou.toyouandroid.fcm.service.FCMService
import com.toyou.toyouandroid.network.AuthNetworkModule
import com.toyou.toyouandroid.network.NetworkModule
import dagger.Module
Expand Down Expand Up @@ -61,4 +66,34 @@ object NetworkModule {
fun provideHomeService(@AuthRetrofit retrofit: Retrofit): HomeService {
return retrofit.create(HomeService::class.java)
}

@Provides
@Singleton
fun provideCreateService(@AuthRetrofit retrofit: Retrofit): CreateService {
return retrofit.create(CreateService::class.java)
}

@Provides
@Singleton
fun provideSocialService(@AuthRetrofit retrofit: Retrofit): SocialService {
return retrofit.create(SocialService::class.java)
}

@Provides
@Singleton
fun provideNoticeService(@AuthRetrofit retrofit: Retrofit): NoticeService {
return retrofit.create(NoticeService::class.java)
}

@Provides
@Singleton
fun provideRecordService(@AuthRetrofit retrofit: Retrofit): RecordService {
return retrofit.create(RecordService::class.java)
}

@Provides
@Singleton
fun provideFCMService(@AuthRetrofit retrofit: Retrofit): FCMService {
return retrofit.create(FCMService::class.java)
}
}
28 changes: 14 additions & 14 deletions app/src/main/java/com/toyou/toyouandroid/di/RepositoryModule.kt
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package com.toyou.toyouandroid.di

import com.toyou.toyouandroid.data.onboarding.service.OnboardingService
import com.toyou.toyouandroid.domain.profile.repository.ProfileRepository
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

/**
* Repository들은 @Inject constructor와 @Singleton 어노테이션을 통해
* Hilt가 자동으로 제공합니다.
*
* 적용된 Repository 목록:
* - HomeRepository
* - CreateRepository
* - SocialRepository
* - NoticeRepository
* - RecordRepository
* - ProfileRepository
* - FCMRepository
*/
@Module
@InstallIn(SingletonComponent::class)
object RepositoryModule {

@Provides
@Singleton
fun provideProfileRepository(
onboardingService: OnboardingService
): ProfileRepository {
return ProfileRepository(onboardingService)
}
}
object RepositoryModule
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
package com.toyou.toyouandroid.domain.create.repository

import com.toyou.toyouHoandroid.data.create.service.CreateService
import com.toyou.toyouandroid.data.create.service.CreateService
import com.toyou.toyouandroid.data.create.dto.request.Answer
import com.toyou.toyouandroid.data.create.dto.request.AnswerDto
import com.toyou.toyouandroid.data.create.dto.response.AnswerPost
import com.toyou.toyouandroid.data.create.dto.response.HomeDto
import com.toyou.toyouandroid.data.create.dto.response.QuestionsDto
import com.toyou.toyouandroid.data.social.dto.response.ResponseFriend
import com.toyou.toyouandroid.model.PreviewCardModel
import com.toyou.toyouandroid.network.AuthNetworkModule
import com.toyou.toyouandroid.network.BaseResponse
import com.toyou.toyouandroid.utils.TokenManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
import javax.inject.Singleton

class CreateRepository(private val createService: CreateService) {
@Singleton
class CreateRepository @Inject constructor(private val createService: CreateService) {
//private val client = AuthNetworkModule.getClient().create(CreateService::class.java)

//suspend fun getAllData() = client.getQuestions()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ import com.toyou.toyouandroid.data.notice.dto.AlarmResponse
import com.toyou.toyouandroid.data.notice.dto.FriendsRequestResponse
import com.toyou.toyouandroid.data.notice.service.NoticeService
import retrofit2.Call
import javax.inject.Inject
import javax.inject.Singleton

class NoticeRepository(private val noticeService: NoticeService) {
@Singleton
class NoticeRepository @Inject constructor(private val noticeService: NoticeService) {

fun getNotices(): Call<AlarmResponse> {
return noticeService.getAlarms()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ import com.toyou.toyouandroid.data.onboarding.dto.PatchNicknameResponse
import com.toyou.toyouandroid.data.onboarding.dto.PatchStatusRequest
import com.toyou.toyouandroid.data.onboarding.service.OnboardingService
import retrofit2.Response
import javax.inject.Inject
import javax.inject.Singleton

class ProfileRepository(
@Singleton
class ProfileRepository @Inject constructor(
private val onboardingService: OnboardingService
) {
suspend fun checkNickname(nickname: String, userId: Int): Response<NicknameCheckResponse> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ import com.toyou.toyouandroid.data.record.dto.PatchDiaryCardResponse
import com.toyou.toyouandroid.data.record.service.RecordService
import com.toyou.toyouandroid.network.BaseResponse
import retrofit2.Call
import javax.inject.Inject
import javax.inject.Singleton

class RecordRepository(private val recordService: RecordService) {
@Singleton
class RecordRepository @Inject constructor(private val recordService: RecordService) {

fun getMyRecord(year: Int, month: Int): Call<DiaryCardResponse> {
return recordService.getDiarycardsMine(year, month)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ import com.toyou.toyouandroid.data.social.dto.response.ResponseFriend
import com.toyou.toyouandroid.data.social.dto.response.SearchFriendDto
import com.toyou.toyouandroid.data.social.service.SocialService
import com.toyou.toyouandroid.network.BaseResponse
import javax.inject.Inject
import javax.inject.Singleton

class SocialRepository(private val socialService: SocialService) {
@Singleton
class SocialRepository @Inject constructor(private val socialService: SocialService) {

suspend fun getFriendsData(): BaseResponse<FriendsDto> {
return socialService.getFriends()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,12 @@ import com.toyou.toyouandroid.fcm.dto.request.FCM
import com.toyou.toyouandroid.fcm.dto.request.Token
import com.toyou.toyouandroid.fcm.dto.response.GetToken
import com.toyou.toyouandroid.fcm.service.FCMService
import com.toyou.toyouandroid.network.AuthNetworkModule
import com.toyou.toyouandroid.network.BaseResponse
import com.toyou.toyouandroid.utils.TokenManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
import javax.inject.Singleton

class FCMRepository(private val fcmService: FCMService) {
@Singleton
class FCMRepository @Inject constructor(private val fcmService: FCMService) {

//private val client = AuthNetworkModule.getClient().create(FCMService::class.java)

Expand Down
Loading
Loading