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
5 changes: 5 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@ dependencies {
implementation(libs.androidx.media3.datasource)
implementation(libs.androidx.media3.datasource.okhttp)

//Filament
implementation("com.google.android.filament:filament-android:1.57.1")
implementation("com.google.android.filament:gltfio-android:1.57.1")
implementation("com.google.android.filament:filament-utils-android:1.57.1")

testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
Expand Down
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-feature android:name="android.hardware.camera.ar" android:required="false" />

<application
android:name=".TiggleApplication"
Expand Down
Binary file added app/src/main/assets/models/level_1.glb
Binary file not shown.
Binary file added app/src/main/assets/models/level_2.glb
Binary file not shown.
Binary file added app/src/main/assets/models/level_3.glb
Binary file not shown.
Binary file added app/src/main/assets/models/level_4.glb
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.ssafy.tiggle.core.utils.filament

class Filament {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.ssafy.tiggle.data.datasource.remote

import com.ssafy.tiggle.data.model.BaseResponse
import com.ssafy.tiggle.data.model.dutchpay.response.UserSummaryDto
import com.ssafy.tiggle.data.model.growth.GrowthResponseDto
import retrofit2.Response
import retrofit2.http.GET

interface GrowthApiService {
@GET("donation/growth")
suspend fun getGrowthResult(): BaseResponse<GrowthResponseDto>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.ssafy.tiggle.data.model.growth

import com.ssafy.tiggle.domain.entity.growth.GrowthResult

data class GrowthResponseDto (
val totalAmount:Long=0L,
val toNextLevel:Int=0,
val level:Int=0
)

fun GrowthResponseDto.toDomain(): GrowthResult =
GrowthResult(
totalAmount=totalAmount,
toNextLevel=toNextLevel,
level=level
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.ssafy.tiggle.data.repository

import com.ssafy.tiggle.data.datasource.remote.GrowthApiService
import com.ssafy.tiggle.data.datasource.remote.UserApiService
import com.ssafy.tiggle.data.model.growth.toDomain
import com.ssafy.tiggle.data.model.piggybank.response.toDomain
import com.ssafy.tiggle.domain.repository.UserRepository
import com.ssafy.tiggle.domain.entity.dutchpay.UserSummary
import com.ssafy.tiggle.domain.entity.growth.GrowthResult
import com.ssafy.tiggle.domain.repository.GrowthRepository
import javax.inject.Inject
import javax.inject.Singleton

@Singleton
class GrowthRepositoryImpl @Inject constructor(
private val growthApiService: GrowthApiService
) : GrowthRepository {

override suspend fun getGrowthResult(): Result<GrowthResult> {
return try {
val response = growthApiService.getGrowthResult()

if (response.result && response.data != null) {
Result.success(response.data.toDomain())
} else {
Result.failure(Exception(response.message ?: "성장 정보 불러오기에 실패했습니다."))
}
} catch (e: Exception) {
Result.failure(e)
}
}

}
6 changes: 6 additions & 0 deletions app/src/main/java/com/ssafy/tiggle/di/NetworkModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.ssafy.tiggle.data.datasource.remote.AuthApiService
import com.ssafy.tiggle.data.datasource.remote.DonationApiService
import com.ssafy.tiggle.data.datasource.remote.DutchPayApiService
import com.ssafy.tiggle.data.datasource.remote.FcmApiService
import com.ssafy.tiggle.data.datasource.remote.GrowthApiService
import com.ssafy.tiggle.data.datasource.remote.PiggyBankApiService
import com.ssafy.tiggle.data.datasource.remote.UniversityApiService
import com.ssafy.tiggle.data.datasource.remote.UserApiService
Expand Down Expand Up @@ -148,4 +149,9 @@ object NetworkModule {
@Singleton
fun provideDonationApiService(retrofit: Retrofit): DonationApiService =
retrofit.create(DonationApiService::class.java)

@Provides
@Singleton
fun provideGrowthService(retrofit: Retrofit): GrowthApiService =
retrofit.create(GrowthApiService::class.java)
}
8 changes: 8 additions & 0 deletions app/src/main/java/com/ssafy/tiggle/di/RepositoryModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ import com.ssafy.tiggle.data.repository.AuthRepositoryImpl
import com.ssafy.tiggle.data.repository.DonationRepositoryImpl
import com.ssafy.tiggle.data.repository.DutchPayRepositoryImpl
import com.ssafy.tiggle.data.repository.FcmRepositoryImpl
import com.ssafy.tiggle.data.repository.GrowthRepositoryImpl
import com.ssafy.tiggle.data.repository.PiggyBankRepositoryImpl
import com.ssafy.tiggle.data.repository.UniversityRepositoryImpl
import com.ssafy.tiggle.data.repository.UserRepositoryImpl
import com.ssafy.tiggle.domain.repository.AuthRepository
import com.ssafy.tiggle.domain.repository.DonationRepository
import com.ssafy.tiggle.domain.repository.DutchPayRepository
import com.ssafy.tiggle.domain.repository.FcmRepository
import com.ssafy.tiggle.domain.repository.GrowthRepository
import com.ssafy.tiggle.domain.repository.PiggyBankRepository
import com.ssafy.tiggle.domain.repository.UniversityRepository
import com.ssafy.tiggle.domain.repository.UserRepository
Expand Down Expand Up @@ -69,4 +71,10 @@ abstract class RepositoryModule {
abstract fun bindDonationRepository(
donationRepositoryImpl: DonationRepositoryImpl
): DonationRepository

@Binds
@Singleton
abstract fun bindGrowthRepository(
growthRepositoryImpl: GrowthRepositoryImpl
): GrowthRepository
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.ssafy.tiggle.domain.entity.growth

data class GrowthResult (
val totalAmount:Long=0L,
val toNextLevel:Int=0,
val level:Int=0
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ssafy.tiggle.domain.repository

import com.ssafy.tiggle.domain.entity.growth.GrowthResult

interface GrowthRepository {

suspend fun getGrowthResult(): Result<GrowthResult>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.ssafy.tiggle.domain.usecase.growth

import com.ssafy.tiggle.domain.entity.dutchpay.DutchPayRequest
import com.ssafy.tiggle.domain.entity.growth.GrowthResult
import com.ssafy.tiggle.domain.repository.DutchPayRepository
import com.ssafy.tiggle.domain.repository.GrowthRepository
import javax.inject.Inject

class GetGrowthResultUseCase @Inject constructor(
private val growthRepository: GrowthRepository
) {
suspend operator fun invoke(): Result<GrowthResult> {
return growthRepository.getGrowthResult()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.ssafy.tiggle.domain.usecase.growth

import javax.inject.Inject

data class GrowthUseCases @Inject constructor(
val getGrowthResultUseCase: GetGrowthResultUseCase
)
Loading