Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/android/#35 join event : 일정 참여, 일정 멤버 자세히 보기, 알림 화면 구현 #163

Merged

Conversation

agfalcon
Copy link
Collaborator

개요

설명

  • 알림 ui 구현 및 목업 데이터 띄우기
  • 일정 참여 기능 구현
  • 팔로우/언팔로우 기능 구현(테스트 필요)
  • 일정 멤버 자세히 보기 기능 구현

@agfalcon agfalcon added Android 안드로이드 Feat 기능 UI/UX labels Nov 30, 2023
@agfalcon agfalcon added this to the 🔖일정 스토리 milestone Nov 30, 2023
@agfalcon agfalcon self-assigned this Nov 30, 2023
p-chanmin
p-chanmin previously approved these changes Dec 1, 2023
Copy link
Collaborator

@p-chanmin p-chanmin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다~👍👍

Comment on lines +8 to +16
@JsonClass(generateAdapter = true)
data class EventMember(
@Json(name = "id")
val id: Int,
@Json(name = "nickname")
val nickname: String,
@Json(name = "profile")
val profile: String
) : Parcelable {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

args로 전달하기 위해 Parcelable로 선언한 부분인가요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네 맞습니다!!! 이벤트 멤버를 전달해서 더보기에서 사용하기 위해 Parcelable로 구현을 했습니다.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 list를 data class로 한번 더 감싸면 serealizable만 상속받아도 전달할 수 있더라고요! 뭐가 더 나은지는 모르겠어요...

Comment on lines +6 to +17
@JsonClass(generateAdapter = true)
data class UserWithFollowStatus(
@Json(name = "id")
val id: Int,
@Json(name = "nickname")
val nickname: String,
@Json(name = "profile")
val profile: String,
@Json(name = "isFollowed")
val isFollowed: Boolean,
val isMe: Boolean = false
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분은 팔로우랑 일정 초대 부분을 묶어서 구현해야할 것 같아서 제가 나중에 수정할 수도 있을 것 같아요

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵넵 좋습니다. isMe 부분은 자기를 검색했을 때 버튼을 보여주지 않기 위해서 사용을 했고 repository에서 자기와 닉네임이 같은 지 검사하여 isMe 부분을 변경하는 로직을 함께 작성 했어요!

Comment on lines +11 to +15
@POST("follow")
suspend fun follow(@Body followRequest: FollowRequest)

@DELETE("follow/follow")
suspend fun unFollow(@Query("userId") userId: Int)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍👍

Comment on lines +14 to +25
override fun createFragment(position: Int): Fragment {
return when (position) {
0 -> {
FollowNotificationFragment()
}

1 -> {
EventNotificationFragment()
}
else -> {
GroupNotificationFragment()
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 이 부분에서 고민을 많이 했는데, 재활용하여 Fragment를 만들어볼 수도 있을 것 같아요~

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵넵! 우선은 그 부분이 api 나온 부분도 없고 정확히 어떻게 할지 몰라서 우선 크게 만들어놓고 자세히 구현할 때 합치거나 그냥 구현할 지 정할 것 같아서 일단 범용적으로 크게 만들어놓았습니다!!

LeeHaiLim
LeeHaiLim previously approved these changes Dec 2, 2023
Copy link
Collaborator

@LeeHaiLim LeeHaiLim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요좋아요

Comment on lines +8 to +16
@JsonClass(generateAdapter = true)
data class EventMember(
@Json(name = "id")
val id: Int,
@Json(name = "nickname")
val nickname: String,
@Json(name = "profile")
val profile: String
) : Parcelable {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 list를 data class로 한번 더 감싸면 serealizable만 상속받아도 전달할 수 있더라고요! 뭐가 더 나은지는 모르겠어요...

import com.teameetmeet.meetmeet.databinding.ItemEventNotificationBinding

class EventNotificationAdapter: ListAdapter<EventNotification, EventNotificationViewHolder>(diffCallback) {
override fun onCreateViewHolder(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

프래그먼트 세개, 아답터 세개, 뷰모델 세개인가요..?ㅜㅡㅜ..

@p-chanmin p-chanmin dismissed stale reviews from LeeHaiLim and themself via 42fb089 December 3, 2023 08:05
p-chanmin
p-chanmin previously approved these changes Dec 3, 2023
@LeeHaiLim LeeHaiLim merged commit f7e0bce into boostcampwm2023:dev Dec 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android 안드로이드 Feat 기능 UI/UX
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

3 participants