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

[feat] [#69] [#35] 관심 학교/축제 를 저장하는 로컬 데이터 베이스 환경 구축, 홈 화면 Api 연결 #88

Merged
merged 29 commits into from
Apr 19, 2024

Conversation

wjdtkdgns777
Copy link
Collaborator

  1. 홈 화면의 오늘의 축제 일정과 다가오는 축제 일정의 api 연동 부분을 뷰모델에만 먼저 작성했습니다.
  2. 기존의 FestivalSearchModel이 오늘의 축제 일정을 제외한 부분에서 모든 부분에 사용되어, FestivalModel로 변경해주었습니다.
  3. 기존의 FestivalModel은 임시로 작성해서 사용중이던 관심축제 모델이였는데, 이부분을 지우며 기존 FestivalModel을 사용하던 부분을 FestivalSearchModel(현 FestivalModel)로 Refactor 해주었습니다
  4. 인트로, 홈의 오늘의 축제일정에서 관심 축제 추가, 그리고 홈과 맵, 메뉴의 BottomSheetSearch에서 관심 축제 추가 기능을 Local Database와 연동해주었습니다

Todo:

  1. 바텀시트에서 편집모드로 관심축제 삭제기능 : PR이 너무 길어지는거같아 다음PR에 추가 예정.
  2. 홈화면의 오늘의 축제에서 관심 축제 추가시 관심축제의 날짜가 보이지 않는데 이는 현재 구조로는 Date로 표현되지만 endDate, beginDate로 바뀔 예정이기에 빼둠
  3. 현재 관심축제를 바텀시트에서 저장시에는 축제명이 건대축제로, 홈화면의 오늘의 축제에서 저장시에는 건대축제 Day 1 이런식으로 저장이되는데, 이 부분또한 백엔드에서 정보를 분리해 받을 예정입니다.
  4. 현재 이미 로컬 데이터베이스에 관심 축제로 저장되어있으면 바텀시트와 홈의 오늘의 관심축제에서 관심축제 버튼이 보이지 않도록 하기

BottomSheet와 홈 화면에서의 관심 축제 추가 기능은 각각 다른 데이터 구조를 사용합니다. 이 두 기능을 위해 통합된 엔티티를 활용하되, 각 기능에서 필요한 데이터만을 저장하도록 하였습니다. 추가적으로, 로컬 데이터베이스에 저장할 때는 이미 같은 festivalId를 가진 데이터가 존재하는지 확인하고, 존재하지 않는 경우에만 새로운 데이터를 저장합니다.

@easyhooon
Copy link
Collaborator

easyhooon commented Apr 19, 2024

생각을 해봤는데 이미 관심축제로 추가되어있는 경우엔 뷰에서 해당 축제를 다시 추가하지 못하도록 조치들을 취하고 있습니다. (추가 버튼이 아닌, 체크 표시로 바뀐다던지, 관심 축제로 추가하는 버튼이 안보인다던지)

그래서 그런 부분에 대해선 뷰모델에서 room 에 데이터를 추가하는 함수에서 예외처리를 할 필요는 없어보여요. onConflictStratey 로 Replace 로 이미 설정해놨다고 리뷰엔 언급을 했는데, 사실 replace 되는것보단 아예 무시되는게 더 맞다고 생각이드네요.

무튼 요악하자면 중복으로 또 추가할 상황 자체가 안만들어질것같다는 말이었습니다.
remote API 를 통해 축제 리스트를 받아왔을 때, room 에 저장된 관심 축제 리스트와 비교해서 이미 추가된 녀석인지 아닌지 등을 검사해서 갱신해줄 필요가 있어보이네요 -> 이 작업 같은 경우엔 현재 remote API 에 dummy data 가 없는 관계로 data 가 추가되면 진행하면 될 것 같습니다.

Copy link
Collaborator

@easyhooon easyhooon left a comment

Choose a reason for hiding this comment

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

LGTM! 수고하셨습니다.

@wjdtkdgns777 wjdtkdgns777 merged commit c2470fa into develop Apr 19, 2024
1 check passed
@wjdtkdgns777 wjdtkdgns777 deleted the feature/home-api-connection branch April 19, 2024 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

관심 학교/축제 를 저장하는 로컬 데이터 베이스 환경 구축 Home 화면 구현
2 participants