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] [#58] 관심 부스 로컬 데이터베이스 환경 구축 및 CRUD 연동 #68

Merged
merged 13 commits into from
Apr 13, 2024

Conversation

easyhooon
Copy link
Collaborator

@easyhooon easyhooon commented Apr 13, 2024

  • database 모듈 추가
  • androidx-room 라이브러리 의존성 추가 및 build logic 구성
  • interested -> liked 로 네이밍 전체 변경
  • 관심 부스 CRUD 구현
  • 관심 부스 목록 LazyColumn 내에 아이템 추가 및 제거시 애니메이션 추가
  • menu, liked-booth 모듈내에 반복되는 컴포넌트, ui 모듈내에 공통 컴포넌트로 변경
  • 필요 없는 라이브러리 의존성 제거
  • menu, liked-booth 모듈내에 기존 디자인에 문제 되는 부분 수정, preview 오류 수정

P.S
원래는 pull to refresh 를 통해 변경 내역을 반영하는 것이 기획이었으나, 데이터가 로컬 데이터이기도 하구, 메뉴 화면과의 변경 내역 반영의 통일성을 맞추기 위해 pull to refresh 가 아닌, 변경된 내역을 즉시 반영하는 방식으로 구현하였습니다. (석준님과 얘기된 내용)

Room 내에 데이터를 flow 스트림을 통해 뷰모델이 구독을 하는 방식을 사용하여, 변경이 발생한 경우, 이를 변화를 즉각 반영하는 식으로 구현하였습니다. 단, 바로 아이템을 삭제할 경우 북마크 아이콘 버튼의 변화를 확인할 수 없으므로, 북마크 버튼을 먼저 해제하고(아이콘 변경), 0.5초 후에 해당 아이템이 삭제되는 식으로 구현하였습니다. 0.5초가 너무 짧다고 생각된다면 더 늘려도 좋을 것 같습니다.

아이템이 삭제되고 추가되는 애니메이션 같은 경우에는 현재는 아이템을 하나밖에 추가하고, 삭제할수없어서 제대로 확인이 불가능한데, 이후 관심 부스를 복수로 추가할 수 있을때, 다시 확인해서 어색한 부분은 해결하면 될 것 같습니다.

module이 추가되고, 구글 권장 아키텍처를 채택하면서 각 모듈간(data, database, domain, network)의 model 을 다루는 것이 복잡해졌는데, nia 의 경우 순수한 model을 domain 내에 entity 가 아닌 model 이라는 새로운 모듈 내에 정의하여 관리하던데, 해당 내용에 대해선 아직 학습이 부족하여, 좀 더 알아보겠습니다. 클린 아키텍처를 주로 사용하다가, 구글 권장 아키텍처를 사용하려니 다소 차이점이 존재하는거 같네요

@easyhooon easyhooon added enhancement New feature or request design tasks releated to design labels Apr 13, 2024
@easyhooon easyhooon requested a review from wjdtkdgns777 April 13, 2024 13:33
@easyhooon easyhooon self-assigned this Apr 13, 2024
@easyhooon easyhooon linked an issue Apr 13, 2024 that may be closed by this pull request
Copy link
Collaborator

@wjdtkdgns777 wjdtkdgns777 left a comment

Choose a reason for hiding this comment

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

수고 많으셨습니다!! 저도 해당부분 공부해보고 있겠습니다

@easyhooon easyhooon merged commit a46c601 into develop Apr 13, 2024
1 check passed
@easyhooon easyhooon deleted the feature/local-database-env-setup branch April 13, 2024 14:28
@easyhooon easyhooon changed the title [feat] 관심 부스 로컬 데이터베이스 환경 구축 및 CRUD 연동 [feat] [#58] 관심 부스 로컬 데이터베이스 환경 구축 및 CRUD 연동 Apr 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design tasks releated to design enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

관심 부스를 저장하는 로컬 데이터 베이스 환경 구축
2 participants