교육 소개
home
DEEP DIVE 소개
home

리워드

진행 기간
2023/04/12 → 2023/07/18
멤버 구성
Android 4명
담당 기술
Android
Kotlin
Android Studio
🎠 Activities

Link

사용 기술 및 라이브러리

Frontend
Kotlin, Android Studio, RoomDB, Retrofit
Backend
-
Design
Figma

담당 분야

Android Developer, PM

상세 내용

케이팝 가사 속 단어들의 한국어를 학습하며 해외 팬들이 노래 가사를 간편히 이해하고 공감할 수 있도록 제작된 프로젝트입니다.
총 4개의 화면으로 구성되어 있으며, 홈 화면에서는 현재 학습 중인 곡 및 음원차트 인기곡을, 스터디 화면에서는 전체 학습 목록을 확인할 수 있습니다. 투데이 화면에서는 오늘의 추천 단어를 TTS를 사용해 들어볼 수 있고 마이페이지에서는 프로필 편집 및 학습을 완료한 곡을 확인할 수 있습니다. 홈 화면에서는 검색을 통해 검색 결과에서 곡을 선택하면 미리듣기 음원을 들려주어 원하는 곡이 맞는지 확인한 후 학습을 진행할 수 있습니다. 학습을 진행할 때는 유튜브 영상을 통해 음원을 들어가며 학습을 진행할 수 있고, 전체 가사와 그 뜻, 발음을 보여주며 각 단락을 클릭할 경우 그 가사 속에 있는 한국어 단어의 뜻과 발음을 띄워줍니다. 학습을 진행한 후에는 퀴즈를 풀 수 있는데, 전체 가사 중 각 분량(3%, 5%..)에 해당하는 단어에서 3문제씩 랜덤으로 출제되며 각 퀴즈를 모두 맞출 경우 그만큼의 학습퍼센트를 달성하게 됩니다.
관련 기술로는 API와 웹 크롤링을 사용하였으며, API로는 노래 검색을 위한 아이튠즈, 가사의 영어 뜻을 위한 파파고, 유튜브 API를 비롯하여 단어 추출을 위한 형태소 분석 API, 뜻을 확인하기 위한 한국어 기초사전 API와 각 발음 표기를 위한 Romanization Library가 사용되었습니다. 웹 크롤링으로는 홈의 음원차트를 위한 멜론 차트 크롤링과 음원 가사를 가져오기 위한 네이버 검색화면 크롤링이 있습니다. 매일 학습을 유도하는 푸시알림을 보내기 위해 매일 같은 시간에 알림을 줄 수 있도록 setExact 함수를 이용하였으며 이를 통해 더욱 완성도를 높일 수 있었습니다.
데모 영상

깨달은 점

여러 API를 사용하였기 때문에 그 로딩 시간이 있었는데, 해당 로딩 시간을 해결하려는 과정에서 팀원 간의 갈등이 있었습니다. 몇 가지 API를 포기하여 로딩을 줄일 것인지, 포기하지 않고 이대로 유지할 것인지에 대한 갈등이었으나 다 함께 해결 방법을 찾던 중 로딩 중임을 표시하는 화면을 통해 유저의 체감 대기 시간을 줄일 수 있음을 알게 되었습니다. 이러한 과정에서 기술적 문제를 반드시 기술적으로만 해결하는 것이 아닌 디자인적으로 해결하는 것이 더 효과적인 때도 있다는 것을 알게 되었습니다. 여러 API를 중첩 사용하다보니 호출 시기와 콜백처리에 어려움을 겪었는데, 하나씩 플로우를 그려가며 차근차근 해결하다보니 성공적인 서비스를 완성할 수 있었습니다.
제가 기존에 지니고 있던 아이디어를 바탕으로 진행되어 PM의 역할을 맡아 스케줄 관리 및 업무 분담, 기능 정의 등을 진행하였는데, 매번 개발에만 참여하다가 PM으로서의 업무를 진행하니 앞으로 있을 협업에서 개발자로서, 또 팀원으로서 어떤 자세를 지녀야 할 지 깨닫는 좋은 경험이었습니다.