멜론박스는 한국의 음악 플랫폼 멜론의 음악 플레이리스트를 유튜브뮤직 플레이리스트로 변환하여 저장하는 앱입니다. 멜론을 사용하다가 유튜브 뮤직으로 옮기고 싶을때, 혹은 나는 멜론을 사용하지만 곡을 공유하고 싶은 상대가 유튜브 뮤직 사용자일때 유용합니다.
- 멜론의 플레이리스트를 공유한 링크를 입력받아, 그 웹페이지를 크롤링하여 곡 목록을 생성합니다.
- 각 곡 목록에 대해서 Youtube Data API를 이용해 유튜브에 해당 곡이 있는지 검색하고, 그렇게 찾은 곡들을 사용자에게 보여줍니다.
- 사용자는 MelonBox가 유튜브에서 찾은 곡 중 예상과 다른 곡이 포함되어있다면 재 검색을 수행하여 직접 원하는 곡으로 대체할 수 있습니다.
- 최종적으로 플레이리스트를 생성하면 유튜브 뮤직에 생성된 플레이리스트가 나타납니다.
- 멜론박스는 안드로이드의 Jetpack Compose를 이용해 만들어졌습니다.
- 멀티모듈은 아니지만, 패키지로 data - domain - feature (ui layer)로 나뉘어져있습니다.
- 네트워크통신은 Ktor를 사용하고 의존성 주입은 Hilt를 사용합니다.
- Google OAuth를 이용해 Youtube Data API에 대한 Access Token을 얻습니다.