Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/PawWithU/ConnectDog-AOS
Browse files Browse the repository at this point in the history
…into feature/management

# Conflicts:
#	core/data/src/main/java/com/kusitms/connectdog/core/data/mapper/ReviewMapper.kt
#	core/data/src/main/java/com/kusitms/connectdog/core/data/repository/ManagementRepository.kt
#	core/data/src/main/java/com/kusitms/connectdog/core/data/repository/ManagementRepositoryImpl.kt
#	core/data/src/main/java/com/kusitms/connectdog/core/data/repository/SignUpRepository.kt
#	core/data/src/main/java/com/kusitms/connectdog/core/data/repository/SignUpRepositoryImpl.kt
#	feature/main/src/main/java/com/kusitms/connectdog/feature/main/MainScreen.kt
#	feature/management/src/main/java/com/kusitms/connectdog/feature/management/navigation/ManagementNavigation.kt
#	feature/management/src/main/java/com/kusitms/connectdog/feature/management/screen/CreateReviewScreen.kt
#	feature/management/src/main/java/com/kusitms/connectdog/feature/management/screen/ManagementScreen.kt
#	feature/management/src/main/java/com/kusitms/connectdog/feature/management/viewmodel/ReviewViewModel.kt
#	feature/signup/src/main/java/com/kusitms/connectdog/signup/screen/common/CeritificationScreen.kt
#	feature/signup/src/main/java/com/kusitms/connectdog/signup/screen/common/CompleteSignUpScreen.kt
#	feature/signup/src/main/java/com/kusitms/connectdog/signup/screen/intermediator/IntermediatorInformationScreen.kt
#	feature/signup/src/main/java/com/kusitms/connectdog/signup/screen/intermediator/IntermediatorProfileScreen.kt
#	feature/signup/src/main/java/com/kusitms/connectdog/signup/viewmodel/SignUpViewModel.kt
  • Loading branch information
kang9366 committed May 31, 2024
2 parents 2bfc48c + b4261a4 commit 6d7bf2f
Show file tree
Hide file tree
Showing 670 changed files with 3,366 additions and 907 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ core/model/build/kotlin/compileDebugKotlin/cacheable/
core/designsystem/build/kotlin/compileDebugKotlin/cacheable/
core/designsystem/build/outputs/aar/
core/model/build/outputs/aar/
core/designsystem/build/tmp/kotlin-classes/debug/META-INF
core/designsystem/build/tmp/kotlin-classes/debug/META-INF
core/designsystem/build/tmp
2 changes: 2 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ android {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signingConfigs.getByName("debug")
}
}
compileOptions {
Expand All @@ -55,6 +56,7 @@ dependencies {
implementation(project(":feature:intermediator"))

implementation(libs.androidx.core.splashscreen)
implementation(libs.google.playintegrity)

kapt(libs.hilt.compiler)
implementation(libs.hilt.android)
Expand Down
21 changes: 20 additions & 1 deletion app/google-services.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:260494595521:android:4082b77d97edb83f428b40",
"mobilesdk_app_id": "1:260494595521:android:43c64ea8b41b8833428b40",
"android_client_info": {
"package_name": "com.kusitms.connectdog"
}
Expand All @@ -23,6 +23,25 @@
"other_platform_oauth_client": []
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:260494595521:android:a5be6ee857dccfc3428b40",
"android_client_info": {
"package_name": "com.kusitms.connectdog.feature.main"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDqQ5mEJVaoopO1yxSahoDXJ4D6EvUf15U"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ object Configuration {
const val compileSdk = 34
const val targetSdk = 34
const val minSdk = 30
const val versionCode = 1
const val versionCode = 15
const val majorVersion = 1
const val minorVersion = 0
const val patchVersion = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.kusitms.connectdog.core.data.api.model.AdditionalAuthBody
import com.kusitms.connectdog.core.data.api.model.DeleteAccountResponse
import com.kusitms.connectdog.core.data.api.model.FcmTokenRequestBody
import com.kusitms.connectdog.core.data.api.model.IsDuplicateNicknameResponse
import com.kusitms.connectdog.core.data.api.model.IsDuplicatePhoneNumberBody
import com.kusitms.connectdog.core.data.api.model.IsDuplicatePhoneNumberResponse
import com.kusitms.connectdog.core.data.api.model.LoginResponseItem
import com.kusitms.connectdog.core.data.api.model.MyInfoResponseItem
import com.kusitms.connectdog.core.data.api.model.NormalLoginBody
Expand All @@ -26,6 +28,7 @@ import com.kusitms.connectdog.core.data.api.model.volunteer.EmailCertificationRe
import com.kusitms.connectdog.core.data.api.model.volunteer.IsDuplicateNicknameBody
import com.kusitms.connectdog.core.data.api.model.volunteer.NormalVolunteerSignUpBody
import com.kusitms.connectdog.core.data.api.model.volunteer.NoticeDetailResponseItem
import com.kusitms.connectdog.core.data.api.model.volunteer.ReviewDetailResponse
import com.kusitms.connectdog.core.data.api.model.volunteer.SocialVolunteerSignUpBody
import com.kusitms.connectdog.core.data.api.model.volunteer.UserInfoResponse
import okhttp3.MultipartBody
Expand Down Expand Up @@ -93,6 +96,11 @@ internal interface ApiService {
@Body socialVolunteerSignUpBody: SocialVolunteerSignUpBody
)

@POST("/volunteers/phone/isDuplicated")
suspend fun getIsDuplicatePhoneNumber(
@Body isDuplicatePhoneNumberBody: IsDuplicatePhoneNumberBody
): IsDuplicatePhoneNumberResponse

/**
* 봉사관리
*/
Expand Down Expand Up @@ -124,6 +132,11 @@ internal interface ApiService {
@Path("applicationId") applicationId: Long
): Response

@GET("/volunteers/reviews/{reviewId}")
suspend fun getReviewDetail(
@Path("reviewId") reviewId: Long
): ReviewDetailResponse

/**
* 로그인
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
package com.kusitms.connectdog.core.data.api

import com.kusitms.connectdog.core.data.api.model.FcmTokenRequestBody
import com.kusitms.connectdog.core.data.api.model.IsDuplicatePhoneNumberBody
import com.kusitms.connectdog.core.data.api.model.IsDuplicatePhoneNumberResponse
import com.kusitms.connectdog.core.data.api.model.Response
import com.kusitms.connectdog.core.data.api.model.ReviewResponseItem
import com.kusitms.connectdog.core.data.api.model.VolunteerResponse
import com.kusitms.connectdog.core.data.api.model.intermediator.InterAnnouncementDetailResponse
import com.kusitms.connectdog.core.data.api.model.intermediator.InterApplicationCompletedResponseItem
import com.kusitms.connectdog.core.data.api.model.intermediator.InterApplicationInProgressResponseItem
import com.kusitms.connectdog.core.data.api.model.intermediator.InterApplicationRecruitingResponseItem
import com.kusitms.connectdog.core.data.api.model.intermediator.InterApplicationWaitingResponseItem
import com.kusitms.connectdog.core.data.api.model.intermediator.InterProfileFindingResponseItem
import com.kusitms.connectdog.core.data.api.model.intermediator.InterProfileInfoResponse
import com.kusitms.connectdog.core.data.api.model.intermediator.IntermediatorProfileInfoResponseItem
import com.kusitms.connectdog.core.data.api.model.volunteer.ReviewDetailResponse
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
import retrofit2.http.Multipart
import retrofit2.http.PATCH
import retrofit2.http.POST
import retrofit2.http.Part
import retrofit2.http.Path
import retrofit2.http.Query

internal interface InterApiService {

/**
* 회원가입
*/
@Multipart
@POST("/intermediaries/sign-up")
suspend fun intermediatorSignUp(
@Part("request") json: RequestBody,
@Part file: MultipartBody.Part
)

@POST("/intermediaries/phone/isDuplicated")
suspend fun getIsDuplicatePhoneNumber(
@Body body: IsDuplicatePhoneNumberBody
): IsDuplicatePhoneNumberResponse

/**
* 봉사관리
*/
Expand Down Expand Up @@ -67,6 +94,16 @@ internal interface InterApiService {
@Path("applicationId") applicationId: Long
): Response

@GET("/intermediaries/reviews/{reviewId}")
suspend fun getReviewDetail(
@Path("reviewId") reviewId: Long
): ReviewDetailResponse

@GET("/intermediaries/posts/{postId}")
suspend fun getAnnouncementDetail(
@Path("postId") postId: Long
): InterAnnouncementDetailResponse

/**
* 이동봉사 모집자 프로필
* */
Expand All @@ -84,4 +121,21 @@ internal interface InterApiService {
@Query("page") page: Int?,
@Query("size") size: Int?
): List<InterProfileFindingResponseItem>

@DELETE("/intermediaries/posts/{postId}")
suspend fun deleteAnnouncement(
@Path("postId") postId: Long
)

@POST("/intermediaries/fcm")
suspend fun postFcmToken(
@Body fcmToken: FcmTokenRequestBody
)

@Multipart
@POST("/intermediaries/posts")
suspend fun postApplication(
@Part("request") json: RequestBody,
@Part files: List<MultipartBody.Part>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.kusitms.connectdog.core.data.api.model

data class IsDuplicatePhoneNumberBody(
val phone: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.kusitms.connectdog.core.data.api.model

data class IsDuplicatePhoneNumberResponse(
val isDuplicated: Boolean,
val socialType: String?,
val email: String?
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.kusitms.connectdog.core.data.api.model.intermediator

import com.squareup.moshi.JsonClass

@JsonClass(generateAdapter = true)
data class CreateApplicationDto(
val departureLoc: String,
val arrivalLoc: String,
val startDate: String,
val endDate: String,
val pickUpTime: String,
val isKennel: Boolean,
val content: String,
val dogName: String,
val dogSize: String,
val specifics: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.kusitms.connectdog.core.data.api.model.intermediator

import com.kusitms.connectdog.core.data.api.model.volunteer.NoticeDetailResponseItem

data class InterAnnouncementDetailResponse(
val arrivalLoc: String,
val content: String,
val departureLoc: String,
val dogName: String,
val dogSize: String,
val endDate: String,
val images: List<String>,
val intermediaryId: Int,
val intermediaryName: String,
val intermediaryProfileImage: String,
val isKennel: Boolean,
val mainImage: String,
val pickUpTime: String,
val postId: Int,
val postStatus: String,
val specifics: String?,
val startDate: String
) {
fun toData() = NoticeDetailResponseItem(
arrivalLoc, content, departureLoc, dogName, dogSize, endDate, images, intermediaryId, intermediaryName, intermediaryProfileImage, isBookmark = false, isKennel, mainImage, pickUpTime, postId, postStatus, specifics, startDate
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.kusitms.connectdog.core.data.api.model.intermediator

data class IntermediatorSignUpBody(
val isOptionAgr: Boolean,
val realName: String,
val phone: String,
val email: String,
val password: String,
val name: String,
val intro: String,
val url: String,
val contact: String
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@ data class NormalVolunteerSignUpBody(
val password: String,
val nickname: String,
val profileImageNum: Int,
val isOptionAgr: Boolean = true
val isOptionAgr: Boolean = true,
val phone: String,
val name: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.kusitms.connectdog.core.data.api.model.volunteer

data class ReviewDetailResponse(
val profileImageNum: Int,
val dogName: String,
val volunteerNickname: String,
val createdDate: String,
val mainImage: String,
val images: List<String>,
val content: String,
val postId: Long,
val postMainImage: String,
val startDate: String,
val endDate: String,
val departureLoc: String,
val arrivalLoc: String,
val intermediaryId: Long,
val intermediaryName: String
)
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.kusitms.connectdog.core.data.di

import com.kusitms.connectdog.core.data.api.InterApiService
import com.kusitms.connectdog.core.data.repository.InterHomeRepository
import com.kusitms.connectdog.core.data.repository.InterHomeRepositoryImpl
import com.kusitms.connectdog.core.data.repository.InterManagementRepository
import com.kusitms.connectdog.core.data.repository.InterManagementRepositoryImpl
import com.kusitms.connectdog.core.data.repository.InterProfileRepository
Expand All @@ -15,6 +17,12 @@ import javax.inject.Singleton
@Module
internal class InterDataModule {

@Provides
@Singleton
fun provideInterHomeRepository(apiService: InterApiService): InterHomeRepository {
return InterHomeRepositoryImpl(apiService)
}

@Provides
@Singleton
fun provideInterManagementRepository(apiService: InterApiService): InterManagementRepository {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.kusitms.connectdog.core.data.di

import com.kusitms.connectdog.core.data.api.ApiService
import com.kusitms.connectdog.core.data.api.InterApiService
import com.kusitms.connectdog.core.data.repository.ApplyRepository
import com.kusitms.connectdog.core.data.repository.ApplyRepositoryImpl
import com.kusitms.connectdog.core.data.repository.DetailRepository
Expand All @@ -27,8 +28,11 @@ internal class VolunteerDataModule {

@Provides
@Singleton
fun provideSignUpRepository(apiService: ApiService): SignUpRepository {
return SignUpRepositoryImpl(apiService)
fun provideSignUpRepository(
volunteerApi: ApiService,
intermediatorApi: InterApiService
): SignUpRepository {
return SignUpRepositoryImpl(volunteerApi, intermediatorApi)
}

@Provides
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.kusitms.connectdog.core.data.mapper

import com.kusitms.connectdog.core.data.api.model.ReviewResponseItem
import com.kusitms.connectdog.core.data.api.model.volunteer.ReviewDetailResponse
import com.kusitms.connectdog.core.model.Review
import com.kusitms.connectdog.core.util.dateRangeFormat

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
package com.kusitms.connectdog.core.data.repository

interface InterHomeRepository
import com.kusitms.connectdog.core.data.api.model.intermediator.CreateApplicationDto
import java.io.File

interface InterHomeRepository {
suspend fun createApplication(body: CreateApplicationDto, images: List<File>)
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
package com.kusitms.connectdog.core.data.repository

class InterHomeRepositoryImpl
import com.google.gson.Gson
import com.kusitms.connectdog.core.data.api.InterApiService
import com.kusitms.connectdog.core.data.api.model.intermediator.CreateApplicationDto
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.MultipartBody
import okhttp3.RequestBody
import java.io.File
import javax.inject.Inject

internal class InterHomeRepositoryImpl @Inject constructor(
private val api: InterApiService
) : InterHomeRepository {
override suspend fun createApplication(body: CreateApplicationDto, images: List<File>) {
val jsonBody = RequestBody.create(
"application/json; charset=utf-8".toMediaTypeOrNull(),
Gson().toJson(body)
)

val files = images.map { file ->
val fileBody = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
MultipartBody.Part.createFormData("files", file.name, fileBody)
}

api.postApplication(jsonBody, files)
}
}
Loading

0 comments on commit 6d7bf2f

Please sign in to comment.