Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
50c8f16
Merge remote-tracking branch 'origin/feat-home-extra' into feat-home-…
t1nm1ksun Sep 22, 2025
a9a3dca
[feat] #94: ν™ˆ 좔가정보 μ„œλΉ„μŠ€ κ΅¬ν˜„
t1nm1ksun Sep 22, 2025
50c4ec2
[feat] #94: ν™ˆ 좔가정보 λ°μ΄ν„°μ†ŒμŠ€ κ΅¬ν˜„
t1nm1ksun Sep 22, 2025
69daa7a
[feat] #94: ν™ˆ 좔가정보 λ ˆν¬μ§€ν† λ¦¬ κ΅¬ν˜„
t1nm1ksun Sep 22, 2025
8c3cd82
[feat] #94: ν™ˆ 좔가정보 맀퍼 κ΅¬ν˜„
t1nm1ksun Sep 22, 2025
9681cc8
[feat] #94: ν™ˆ 좔가정보 μœ μŠ€μΌ€μ΄μŠ€ κ΅¬ν˜„
t1nm1ksun Sep 22, 2025
5e19227
[chore] #94: λ―Έμ‚¬μš© μ½”λ“œ μ‚­μ œ 및 폴더링
t1nm1ksun Sep 22, 2025
d92cdf0
[feat] #94: ν™ˆ 좔가정보 μ˜μ‘΄μ„± μ£Όμž…
t1nm1ksun Sep 22, 2025
b1528c7
[chore] #94: 폴더링에 λ”°λ₯Έ μž„ν¬νŠΈ μˆ˜μ •
t1nm1ksun Sep 22, 2025
3909a24
[chore] #94: ν™ˆ 좔가정보 UI λΆ„κΈ°μ²˜λ¦¬ μˆ˜μ •
t1nm1ksun Sep 22, 2025
eee9be5
Merge remote-tracking branch 'origin/feat-home-api' into feat-home-ex…
t1nm1ksun Oct 6, 2025
a276b24
resolve conflict
t1nm1ksun Oct 6, 2025
e3d1692
Merge remote-tracking branch 'origin/develop' into feat-home-extra-api
t1nm1ksun Oct 10, 2025
2a9da01
resolve conflict
t1nm1ksun Oct 10, 2025
4d9776b
[fix] #94 λ³΄ν˜Έμ„Όν„°,λ³΄ν˜ΈλΆ€μ„œ μ„œλ²„ 응닡 lastId nullable둜 μˆ˜μ •
t1nm1ksun Oct 10, 2025
055beee
[feat] #94 행정ꡬ역 λ“œλ‘­λ‹€μš΄ κ΅¬ν˜„
t1nm1ksun Oct 10, 2025
14d671b
[feat] #94 행정ꡬ역 λ“œλ‘­λ‹€μš΄ κ΅¬ν˜„
t1nm1ksun Oct 10, 2025
1772370
[fix] #94 행정ꡬ역 λ“œλ‘­λ‹€μš΄ μ»΄ν¬λ„ŒνŠΈ μˆ˜μ •
t1nm1ksun Oct 11, 2025
41df451
[feat] #94 행정ꡬ역 api 연동
t1nm1ksun Oct 11, 2025
e8359ab
[feat] #94: 탑바 λ°±μŠ€νƒ μΆ”κ°€
t1nm1ksun Oct 11, 2025
9adaf89
[feat] #94: 넀이버 지도 κ΅¬ν˜„
t1nm1ksun Oct 11, 2025
7b0b23d
[feat] #94: ν˜„μœ„μΉ˜, ν˜„μ§€λ„μ—μ„œ 검색 κ΅¬ν˜„
t1nm1ksun Oct 11, 2025
f540ad4
[fix] #99 : MyInterestResponseDto μ„œλ²„ 응닡과 뢈일치 문제 ν•΄κ²° 및 null 처리
nasohee Oct 13, 2025
19ecd0f
Merge remote-tracking branch 'origin/develop' into feat-home-extra-api
t1nm1ksun Oct 13, 2025
1825897
conflict resolve
t1nm1ksun Oct 13, 2025
330672d
Merge remote-tracking branch 'origin/feat-home-extra-api' into refact…
nasohee Oct 13, 2025
1364b19
#99 : ν”„λ‘œν•„μ΄λ―Έμ§€μˆ˜μ •ν•˜κΈ° api μˆ˜μ •
nasohee Oct 13, 2025
e7efdc6
.
nasohee Oct 15, 2025
655ead1
[refactor] #99 : μ§€μ—­ ν•„ν„° Location Data -> api적용
nasohee Oct 15, 2025
1702303
[refactor] #99 : 버전 정보 Firebaseμ—μ„œ κ°€μ Έμ˜€κΈ°
nasohee Oct 15, 2025
0165666
[feat] #99 : λ‘œκ·Έμ•„μ›ƒ, νƒˆν‡΄ μ‹œ 토큰 μ‚­μ œ
nasohee Oct 15, 2025
8801068
.
nasohee Oct 17, 2025
adc82b7
#99 : μ‘°νšŒν•˜κΈ° 상단 λ°°λ„ˆ μ—¬λ°± μΆ”κ°€
nasohee Oct 17, 2025
01f8943
[refactor] #99 : κΈ°λ³Έ 이미지 νšŒμƒ‰μœΌλ‘œ λ³€κ²½
nasohee Oct 17, 2025
bc5292f
[refactor]: #99 νŽ˜μ΄μ§• 쀑볡 호좜 λ°©μ§€
nasohee Nov 5, 2025
3fc2116
[refactor] #99 : μ•Œλ¦Ό μ„€μ • off 처리
nasohee Nov 6, 2025
4e80d84
[refactor] #99 : μ½”λ“œλž˜λΉ— λ¦¬λ·°λ°˜γ…‡γ…‡
nasohee Nov 6, 2025
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
6 changes: 6 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {
alias(libs.plugins.dagger.hilt)
id("org.jetbrains.kotlin.kapt")
alias(libs.plugins.navigationSafeArgs)
id("com.google.gms.google-services")
}

val properties = Properties().apply {
Expand Down Expand Up @@ -148,4 +149,9 @@ dependencies {

// Accompanist
implementation(libs.accompanist.permissions)

// Firebase
implementation(platform("com.google.firebase:firebase-bom:33.4.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-config-ktx")
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.example.findu.data.dataremote.datasource

import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.HomeResponseDto
import com.example.findu.data.dataremote.model.response.home.HomeResponseDto

interface HomeRemoteDataSource {
suspend fun getHome(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.example.findu.data.dataremote.datasource

import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.information.VolunteersResponseDto
import com.example.findu.data.dataremote.model.response.information.CentersResponseDto
import com.example.findu.data.dataremote.model.response.information.DepartmentsResponseDto
import com.example.findu.data.dataremote.model.response.information.SidoListDto
import com.example.findu.data.dataremote.model.response.information.SigunguListDto

interface InformationRemoteDataSource {
suspend fun getVolunteers(
lastId: Long? = Long.MAX_VALUE,
): BaseResponse<VolunteersResponseDto>

suspend fun getCenters(
lastId: Long? = Long.MAX_VALUE,
sido: String? = null,
sigungu: String? = null,
lat: Double? = null,
long: Double? = null
): BaseResponse<CentersResponseDto>

suspend fun getDepartments(
district: String? = null,
lastId: Long? = Long.MAX_VALUE,
): BaseResponse<DepartmentsResponseDto>

suspend fun getSido(): BaseResponse<SidoListDto>

suspend fun getSigungu(sidoId:Long): BaseResponse<SigunguListDto>
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import com.example.findu.data.dataremote.model.response.my.MyReportHistoryRespon
import com.example.findu.data.dataremote.model.response.my.MyViewedAnimalsResponseDto
import okhttp3.MultipartBody
import okhttp3.RequestBody
import java.io.File

interface MyRemoteDataSource {
suspend fun getInterestAnimals(
Expand All @@ -29,7 +30,7 @@ interface MyRemoteDataSource {

suspend fun getNickname(): BaseResponse<MyNickNameResponseDto>

suspend fun patchProfileImageFile(file: MultipartBody.Part): NullableBaseResponse<Unit>

suspend fun patchProfileImageDefault(defaultProfileImageName: RequestBody): NullableBaseResponse<Unit>
}
suspend fun patchProfileImage(
profileImageFile: File?,
defaultImageName: String?
): NullableBaseResponse<Unit>}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package com.example.findu.data.dataremote.datasourceimpl

import com.example.findu.data.dataremote.datasource.HomeRemoteDataSource
import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.HomeResponseDto
import com.example.findu.data.dataremote.model.response.home.HomeResponseDto
import com.example.findu.data.dataremote.service.HomeService
import javax.inject.Inject

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.example.findu.data.dataremote.datasourceimpl

import com.example.findu.data.dataremote.datasource.InformationRemoteDataSource
import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.information.CentersResponseDto
import com.example.findu.data.dataremote.model.response.information.DepartmentsResponseDto
import com.example.findu.data.dataremote.model.response.information.SidoListDto
import com.example.findu.data.dataremote.model.response.information.SigunguListDto
import com.example.findu.data.dataremote.model.response.information.VolunteersResponseDto
import com.example.findu.data.dataremote.service.InformationService
import javax.inject.Inject

class InformationRemoteDataSourceImpl @Inject constructor(
private val informationService: InformationService
) : InformationRemoteDataSource {

override suspend fun getVolunteers(
lastId: Long?
): BaseResponse<VolunteersResponseDto> = informationService.getVolunteers(lastId)

override suspend fun getCenters(
lastId: Long?,
sido: String?,
sigungu: String?,
lat: Double?,
long: Double?
): BaseResponse<CentersResponseDto> = informationService.getCenters(lastId, sido, sigungu, lat, long)


override suspend fun getDepartments(
district: String?,
lastId: Long?
): BaseResponse<DepartmentsResponseDto> = informationService.getDepartments(district, lastId)

override suspend fun getSido(): BaseResponse<SidoListDto> = informationService.getSido()

override suspend fun getSigungu(sidoId:Long): BaseResponse<SigunguListDto> = informationService.getSigungu(sidoId = sidoId)

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ import com.example.findu.data.dataremote.model.response.my.MyReportHistoryRespon
import com.example.findu.data.dataremote.model.response.my.MyViewedAnimalsResponseDto
import com.example.findu.data.dataremote.service.MyService
import com.example.findu.data.dataremote.util.handleBaseResponse
import com.example.findu.data.mapper.torequest.toImageMultipart
import com.example.findu.data.mapper.torequest.toPlainTextRequestBody
import okhttp3.MultipartBody
import okhttp3.RequestBody
import java.io.File
import javax.inject.Inject

class MyRemoteDataSourceImpl @Inject constructor(
Expand Down Expand Up @@ -39,11 +42,13 @@ class MyRemoteDataSourceImpl @Inject constructor(
override suspend fun getNickname(): BaseResponse<MyNickNameResponseDto> =
myService.getNickname()

override suspend fun patchProfileImageFile(file: MultipartBody.Part): NullableBaseResponse<Unit> =
myService.patchProfileImageFile(file)


override suspend fun patchProfileImageDefault(defaultProfileImageName: RequestBody): NullableBaseResponse<Unit> =
myService.patchProfileImageDefault(defaultProfileImageName)
override suspend fun patchProfileImage(
profileImageFile: File?,
defaultImageName: String?
): NullableBaseResponse<Unit> =
myService.patchProfileImage(
profileImageFile = profileImageFile?.toImageMultipart("profileImageFile"),
defaultProfileImageName = defaultImageName?.toPlainTextRequestBody()
)

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.findu.data.dataremote.model.response
package com.example.findu.data.dataremote.model.response.home

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.example.findu.data.dataremote.model.response.information

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class CentersResponseDto(
@SerialName("centers")
val centers: List<CenterDto>,

@SerialName("lastId")
val lastId: Long?,

@SerialName("isLast")
val isLast: Boolean
)

@Serializable
data class CenterDto(
@SerialName("jurisdiction")
val jurisdiction: List<String>,

@SerialName("centerName")
val centerName: String,

@SerialName("phoneNumber")
val phoneNumber: String,

@SerialName("address")
val address: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.example.findu.data.dataremote.model.response.information

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable


@Serializable
data class DepartmentsResponseDto(
@SerialName("departments")
val departments: List<DepartmentDto>,

@SerialName("lastId")
val lastId: Long?,

@SerialName("isLast")
val isLast: Boolean
)

@Serializable
data class DepartmentDto(
@SerialName("departmentName")
val departmentName: String,

@SerialName("district")
val district: String,

@SerialName("phoneNumber")
val phoneNumber: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.example.findu.data.dataremote.model.response.information

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class SidoListDto(
@SerialName("sidoList")
val sidoList: List<SidoItemDto>
)

@Serializable
data class SidoItemDto(
@SerialName("id")
val id: Long,
@SerialName("name")
val name: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.example.findu.data.dataremote.model.response.information

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class SigunguListDto(
@SerialName("sigunguList")
val sigunguList: List<String>
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.example.findu.data.dataremote.model.response.information

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class VolunteersResponseDto(
@SerialName("volunteerWorks")
val volunteerWorks: List<VolunteerWorkDto>,
@SerialName("lastId")
val lastId: Long,
@SerialName("isLast")
val isLast: Boolean
)

@Serializable
data class VolunteerWorkDto(
@SerialName("institution")
val institution: String,
@SerialName("recruitmentPeriod")
val recruitmentPeriod: String,
@SerialName("address")
val address: String,
@SerialName("workPeriod")
val workPeriod: String,
@SerialName("workTime")
val workTime: String,
@SerialName("webLink")
val webLink: String
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable

@Serializable
data class MyInterestResponseDto(
@SerialName("interestAnimals")
@SerialName("cards")
val interestAnimals: List<InterestAnimalDto>,
@SerialName("isLast")
val isLast: Boolean,
Expand All @@ -20,12 +20,12 @@ data class MyInterestResponseDto(
@SerialName("thumbnailImageUrl")
val thumbnailImageUrl: String,
@SerialName("title")
val title: String,
val title: String? = null,
@SerialName("tag")
val tag: String,
@SerialName("date")
val date: String,
@SerialName("address")
@SerialName("location")
val address: String,


Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.example.findu.data.dataremote.service

import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.HomeResponseDto
import com.example.findu.data.dataremote.model.response.home.HomeResponseDto
import com.example.findu.data.dataremote.util.ApiConstraints.API
import com.example.findu.data.dataremote.util.ApiConstraints.HOME
import com.example.findu.data.dataremote.util.ApiConstraints.VERSION
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.example.findu.data.dataremote.service

import com.example.findu.data.dataremote.model.base.BaseResponse
import com.example.findu.data.dataremote.model.response.home.HomeResponseDto
import com.example.findu.data.dataremote.model.response.information.CentersResponseDto
import com.example.findu.data.dataremote.model.response.information.DepartmentsResponseDto
import com.example.findu.data.dataremote.model.response.information.SidoListDto
import com.example.findu.data.dataremote.model.response.information.SigunguListDto
import com.example.findu.data.dataremote.model.response.information.VolunteersResponseDto
import com.example.findu.data.dataremote.util.ApiConstraints.API
import com.example.findu.data.dataremote.util.ApiConstraints.INFORMATION
import com.example.findu.data.dataremote.util.ApiConstraints.VERSION
import retrofit2.http.GET
import retrofit2.http.Query

interface InformationService {
@GET("/$API/$VERSION/$INFORMATION/volunteer-works")
suspend fun getVolunteers(
@Query("lastId") lastId: Long? = Long.MAX_VALUE,
): BaseResponse<VolunteersResponseDto>

@GET("/$API/$VERSION/$INFORMATION/protection-centers")
suspend fun getCenters(
@Query("lastId") lastId: Long? = Long.MAX_VALUE,
@Query("sido") sido: String? = null,
@Query("sigungu") sigungu: String? = null,
@Query("lat") lat: Double? = null,
@Query("long") long: Double? = null
): BaseResponse<CentersResponseDto>

@GET("/$API/$VERSION/$INFORMATION/departments")
suspend fun getDepartments(
@Query("district") district: String? = null,
@Query("lastId") lastId: Long? = Long.MAX_VALUE,
): BaseResponse<DepartmentsResponseDto>

@GET("/$API/$VERSION/sidos")
suspend fun getSido(): BaseResponse<SidoListDto>

@GET("/$API/$VERSION/sigungus")
suspend fun getSigungu(
@Query("sidoId") sidoId: Long): BaseResponse<SigunguListDto>
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ interface InterestService {
@Body request: MyInterestRequestDto
) : NullableBaseResponse<Unit>

@DELETE("/api/v2/users/me/interest-animals")
@DELETE("/api/v2/users/me/interest-animals/{reportId}")
suspend fun deleteInterestAnimal(
@Query("reportId") reportId : Long
@Path("reportId") reportId: Long
) : NullableBaseResponse<Unit>

}
Loading