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

[Featue] 북마크 순서 변경 #312

Open
HamBP opened this issue May 30, 2024 · 5 comments
Open

[Featue] 북마크 순서 변경 #312

HamBP opened this issue May 30, 2024 · 5 comments
Labels

Comments

@HamBP
Copy link
Contributor

HamBP commented May 30, 2024

Kind

  • Feature

Overview

원래 #278 에 포함된 기능이었으나 원활한 코드 리뷰를 위해 별도의 이슈로 분리했습니다.

  • [기능] 편집 모드에서 드래그 인 드롭을 통해 북마크 순서를 변경합니다.

Links

@wisemuji wisemuji added the 2024 label May 30, 2024
@wisemuji
Copy link
Member

@HamBP 감사합니다. 링크해주신 이슈부터 순차적으로 진행 부탁드립니다 🙇

@HamBP
Copy link
Contributor Author

HamBP commented Jun 3, 2024

@taehwandev
안녕하세요. 원래 #311 에서 같이 처리할 내용이었는데, (git diff) 코드가 너무 길어져서 이 이슈를 추가했습니다. 그래서 별도로 작업할 예정이었는데, 311번 PR과 함께 같이 클로즈된 거 같습니다. 확인해주시면 감사합니다!

@taehwandev taehwandev reopened this Jun 3, 2024
@taehwandev
Copy link
Member

@HamBP 아 별도군요! 작업 부탁드려요

@HamBP
Copy link
Contributor Author

HamBP commented Jun 9, 2024

되도록 라이브러리 없이 구현하고 싶어 약 3일간 작업해 봤는데, 한 가지 버그가 해결이 안 되네요. 라이브러리를 추가해도 완벽하게 해결되지는 않아서 아무래도 오늘 내로 완성하긴 어려울 것 같아요.

@HamBP
Copy link
Contributor Author

HamBP commented Jun 9, 2024

추가로, 기존에는 북마크 목록을 Set으로 받아 직렬화하여 data store에 저장하고, UseCase에서 세션 시간순으로 정렬하도록 구현되어 있습니다. 북마크 목록 순서를 변경하기 위해선 아래와 같은 방안들이 떠오릅니다.

  • order를 매핑 정보를 추가하여 기존 데이터를 유지한다.
  • Set을 List로 변경하여 기존 데이터를 유지하지 않는다.
  • Room으로 이전하여 기존 데이터를 유지하지 않는다.

기존 북마크 추가 로직 및 테스트도 수정되어야 하기 때문에 시간이 꽤 걸릴 것 같아요. 원래는 임의로 작업한 뒤 공유하려 했으나, 시간 내에 해결하지 못해서 추가 논의 후 작업하면 좋을 것 같습니다.

순서 변경 기능을 추가하면 새로운 북마크를 추가할 때 시간순으로 정렬되지 않기 때문에 수동으로 정렬하는 불편이 생기기 때문에, 개인적으로는 기능이 없는 게 사용하는 데에는 더 편할 것 같습니다. 따라서 제품 관점에서 보면 순서 변경을 지원하지 않는 게 더 좋아보이고, 오픈소스의 관점에서 구현하고자 한다면 어떤 방식으로 구현해야 할 지 논의하면 좋을 것 같습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants