경험의 기록

2022년 7월, 들은 음악들을 기록할 수 있는 음악 기록장 앱을 플레이 스토어에 출시하였다.

요 근래 바빠서 제작 과정에서 글을 남기지 못했는데 시간을 내서 회고록을 남겨보고자 한다.

 

https://play.google.com/store/apps/details?id=com.hanyeop.mom 

 

MoM - 음악 기록장 (Memory-of-Music) - Google Play 앱

내가 들은 음악들을 기록하고 관리할 수 있는 어플리케이션입니다.

play.google.com

위 링크에서 앱을 확인해보세요 😀

 


1️⃣ 기획

어릴 때부터 음악 듣는 것을 좋아했다.

내가 들었던 음악들을 잊고 살다가 우연히 다시 듣게 되었을 때, 그 기분이 좋았다.

 

그리고 사람들과 음악에 관한 이야기를 나누는 것도 좋아했는데

정작 음악을 추천할 일이 있을 때 내가 어떤 음악들을 들었었는지 기억이 안 날 때가 많았다.

 

그래서 음악들을 기록할 수 있는 앱을 직접 만들면 어떨까? 하는 생각이 들었다.

 

일단 내가 사용할 앱, 더 나아가서 나와 같은 니즈를 가지고 있는 사람들을 위한

앱을 제작하기로 결정하고, 2022년 3월 즈음부터 구상에 들어갔다.

 

처음에 구상했던 방식은 두 가지였다.

 

  1. 사용자가 직접 음악 정보를 입력하고, 기록 형식의 글까지 작성할 수 있는 방식
  2. 앱에서 음악 정보를 검색을 통해 제공하고, 기록 형식의 글만 작성하는 방식

 

사용자 관점에서 보았을 때 1번의 경우에는 음악 정보를 본인이 어느 정도 알고 있어야 하기 때문에 불편할 것 같았다.

또한 거의 모든 것을 사용자가 기록한다면 메모장과 큰 차별점이 없다는 생각도 들었다.

 

그래서 1번 방식보다 2번 방식이 훨씬 차별성이 있고, 사용하기에도 편리할 것이라고 생각했다.

 

 

그래서 가장 중요한 것은 어떤 음악 API를 쓰느냐? 였다.

2022.05.04 - [Android/기본] - [Android] 음악 검색 API 알아보기 (Spotify, iTunes, ManiaDB)

 

[Android] 음악 검색 API 알아보기 (Spotify, iTunes, ManiaDB)

음악 정보를 활용한 앱을 제작하려고 여러 음악 검색 API를 찾아보던 중, 우리나라의 대표적인 음원 사이트인 멜론에서는 언젠가부터 API를 지원해주지 않는다는 것을 알게 되었다. 그래서 주로

hanyeop.tistory.com

이 고민에 대한 기록은 이 글에서 확인할 수 있다.

 

최종적으로 ManiaDB API를 사용했는데,

JSON이 아니라 XML 형식이어서 처음에 꽤나 헷갈렸었다.

 

깃에 XML converter 키워드로 검색해서 많은 자료들을 봤던 기억이 난다.

 

 

2️⃣ 디자인과 차별점

앱의 기능 자체는 많지 않기 때문에 디자인이 더욱더 중요했다.

다양한 색상을 사용하기에는 나의 감각을 믿지 않았기 때문에

최대한 적은 색상을 사용하여 깔끔하게 디자인하려고 노력했다.

 

전체적으로 파스텔톤의 컬러를 강조 색상으로 사용했다.

기존에 기술 위주로 진행하던 프로젝트보다는 좀 더 깔끔한 UI를 구성할 수 있었다.

 

 

또한 기존의 메모장과의 차별점을 위해 기획 단계에서 고민하던, 2번 방식을 채택하고 검색 API를 연결하였다.

하지만 내가 찾는 음악 정보가 없다면? 그 점을 고려하여

1번 방식, 즉 사용자가 직접 정보를 입력하여 기록도 할 수 있도록 추가하였다.

 

 

안드로이드의 경우 내부 DB에 저장된 값들이 구글 드라이브에 자동으로 연결되어

핸드폰을 새로 바꿨을 경우 등에 자동으로 데이터가 복원된다.

 

하지만 서버에 저장되어 있지 않기 때문에 특정 상황에서 데이터 유실을 피할 수는 없다.

그래서 데이터를 파일 형태로 백업하고, 복원할 수 있는 기능을 추가하였다.

 

 

https://github.com/rafi0101/Android-Room-Database-Backup

 

GitHub - rafi0101/Android-Room-Database-Backup: Simple tool to backup and restore your room database in Android

Simple tool to backup and restore your room database in Android - GitHub - rafi0101/Android-Room-Database-Backup: Simple tool to backup and restore your room database in Android

github.com

Room 데이터 백업/복원 기능은 위 라이브러리를 사용했다.

 

 

또한 초기 프로토타입을 친구에게 보여주었는데

장르, 평점, 정렬 등 다양한 기능을 통해 내 기록을 볼 수 있으면 좋을 것 같다는 피드백을 받아서

다양한 필터를 통해 내 기록을 볼 수 있도록 하였다.

 

그리고 칼럼 페이지를 추가하여 서버와 연결하였다.

칼럼 페이지에서는 개발자(나)가 올린 글과 음악들을 확인할 수 있도록 했다.

요즘 바빠서 업로드하지 못했는데 시간 날 때마다 업로드 예정이다.😅

 

3️⃣ 클린 아키텍처 도입

 

클린 아키텍처를 도입하여 Presentation, Domain, Data 3가지 모듈로 

레이어를 세분화하여 프로젝트를 진행하였다.

 

Presentation (app + presentation)

  • 화면, 사용자 입력 처리 레이어
  • Activity, Fragment, ViewModel
  • app 모듈에서는 DI만 진행
  • Domain, Data 레이어 포함

 

Domain

  • 앱의 비즈니스 로직 포함 레이어
  • Model, UseCase, Repository interface
  • 의존성 없이 독립적

 

Data 

  • 서버, 로컬 DB와 데이터 통신 레이어
  • DataSource, Model, Repository 구현부, Dao
  • Domain 레이어 포함

 

이 부분에 대해서는 별도의 글로 다룰 예정이다.

도입해보고 느낀 점은, 솔직히 아직 잘 모르겠다?라는 느낌이다.

 

하지만 프로젝트를 진행한 후부터, 클린 아키텍처로 구성된 다른 프로젝트를 보았을 때 더 쉽게 이해할 수 있었다.

 

4️⃣ 출시

 

https://wp.swing2app.co.kr/knowledgebase/playstore-apprelease/

 

플레이스토어 앱 출시하기 – 스윙 도우미

* 먼저! 플레이스토어 앱 등록을 위해서는, 먼저 구글 개발자 계정을 만들어주셔야 합니다. 해당 사이트에서 계정을 등록한 뒤, 이용료 25$ 를 결제해주세요.(한번 결제시 평생 이용) 결제가 완료

wp.swing2app.co.kr

한 번도 플레이스토어에 앱을 출시해보지 않아서

위 글을 많이 참고했다.

 

개인정보처리 방침을 필수로 등록해야 한다는 부분에서 좀 헷갈렸는데

 

https://www.privacy.go.kr/main/mainView.do

 

개인정보보호 포털

공지 2022년 개인정보 영향평가 인증시험(2차, 7.23) 안내 <사전 고시사항> o 인증시험 당일 또는 전일, 발열 또는 호흡기 증상(기침, 호흡곤란 등)이 나타난 경우 시험 응시가 불가능합니다. □ 인

www.privacy.go.kr

위 사이트에서 처리 방침을 만들어서

 

 

https://github.com/HanYeop/Memory-of-Music-terms

 

GitHub - HanYeop/Memory-of-Music-terms: 약관

약관. Contribute to HanYeop/Memory-of-Music-terms development by creating an account on GitHub.

github.com

깃허브에 호스팅함으로써 해결했다.

따로 로그인 기능 같은 게 있는 게 아니라서 개인정보 처리 방침을 그냥 간단히 작성했다.

 


프로젝트를 진행하면서 경험했던 내용들에 대해 간단히 작성해보았다.

프로젝트를 마무리 짓자마자 SSAFY 2학기가 바로 시작돼서 또 시간이 별로 없다.

추후에 미처 다루지 못한 부분에 대해 자세히 회고록을 다시 남겨보려 한다.

 

프로젝트 진행하면서 이번에도 많이 배웠다.😁

 

전체 코드

https://github.com/HanYeop/Memory-of-Music-android-clean

 

GitHub - HanYeop/Memory-of-Music-android-clean: Clean-Architecture 음악 기록 앱

Clean-Architecture 음악 기록 앱. Contribute to HanYeop/Memory-of-Music-android-clean development by creating an account on GitHub.

github.com

https://play.google.com/store/apps/details?id=com.hanyeop.mom 

 

MoM - 음악 기록장 (Memory-of-Music) - Google Play 앱

내가 들은 음악들을 기록하고 관리할 수 있는 어플리케이션입니다.

play.google.com

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading