Scroll to top

[사이드 프로젝트 개발기] LAH 쥬크박스 오픈

사이드 프로젝트를 개발한다고 한지 벌써 3개월이 지났습니다.
“해야하는데..” 라는 마음의 빚만 갖고 다른 일을 하느라 바빴죠.
지원사업 마무리도 있었고, 필름업 오픈.. 개정판 집필 등 핑계 댈 건 많습니다..

그래도 잊지 않고 완성해서 가져왔습니다.
물론 처음 계획했던 카메라 관련 앱은 아니지만,
오히려 조금 더 재밌고, “토이 프로젝트”라고 부를만한 귀여운(?) 앱을 만들었습니다.

앱은 LAH 쥬크박스인데, 앱에 대한 설명을 하기 전에 사무실 분위기를 설명해야겠네요.
가끔 일하다 분위기가 너무 적막할 때 아무나 음악을 제안합니다.

숑숑의 제안
태더의 제안

그러면 사무실에 있는 스피커에 각자 휴대폰으로(또는 회사 휴대폰으로) 연결해서 음악을 듣죠.
그러다 보면 오피스 채널에 많은 신청곡이 올라옵니다.
가끔 예상치 못한 선곡에 감탄도 하고 감상도 합니다.

그래서 든 생각이, 음악을 재생할 수 있는 앱을 만들어 회사 휴대폰에 설치하고 이 앱을 제어할 수 있는
웹을 만들면 어떨까? 라는 생각이 들어서 시작했습니다.

너무 재밌을 것 같고, 기술적으로 어려운 부분이 없어서 금요일에 퇴근하고 부랴부랴 만들었습니다.
(역시.. 토이 프로젝트가 제일 재밌는 것 같아요.)
금요일이면 완성할 수 있을 줄 알았으나, 토요일까지 개발이 이어졌고 결국 완성했습니다.

LAH 쥬크박스

앱은 당연히 Flutter를 이용해서 만들었고, 완성해 보니 이제 간단한 화면 구성은 어렵지 않은 것 같습니다.
다만 아직 화면 전환이나 앱 특화된 기능들 (오디오 컨트롤러를 연결해서 사용한다거나..)을 다루기는 어렵지만
단순히 오디오 채널을 열어 재생하는 것은 just_audio라는 패키지를 이용하여 쉽게 구현할 수 있었습니다.

강의를 본 덕(?)인지, 아주 간단한 프로젝트이지만 코드 구조도 만족스럽습니다.

LAH 쥬크박스의 경우에는 편의를 위해서 서버를 활용하여 개발했지만,
조금만 응용한다면 유튜브 프리미엄을 이용하지 않고, 유튜브 뮤직과 같은 앱을 만들 수 있을 것 같네요.

혹시나 비슷한 앱을 만들려는 분들에게 간단히 Flow를 말씀드리면,

  1. 웹에서 유튜브 링크를 입력
  2. 서버에서 해당 유튜브 링크의 리소스를 다운받음 (youtube-dl 또는 yt-dlp 사용)
    • yt-dlp 패키지는 툴로 사용할 수도 있고 파이썬 패키지로도 활용 가능
  3. 다운받은 리소스를 서버의 URL로 반환하여 DB에 저장
  4. 앱은 서버에 등록된 리소스 리스트를 polling
  5. 재생 정보를 확인하고 재생

입니다.

당연히 재생중, 일시정지 등 상태 관리를 위해서 조금 더 많은 로직이 필요하지만 기본적인 기능은 위와 같습니다.

또한 당연히 LAH 사무실에서만 사용하기 때문에
모든 링크는 192~로 시작하는 내부망 주소를 사용하고 있습니다.

정말 작은 프로젝트이지만, 완성이 가져다주는 결과는 늘 기대 이상인 것 같습니다.
자신감도 생기고, 뿌듯하고 재밌기까지.

아무래도, 사이드 프로젝트를 쉬면 안 될 것 같습니다 😀


LAH의 소식

🦁 LAH의 블로그 LAHibrary는 매주 수요일 업데이트 됩니다.
더 많은 라이브러리 읽으러 가기


🏞 LAH의 일상이 궁금하시다면?
LAH 인스타그램 둘러보기

LAH의 서비스

내 포트폴리오도 만들고 구인구직까지 가능한, 영상 창작자 매칭 플랫폼
비디어스(Vidius) 둘러보기


🗓 한국 영화제 일정 및 정보를 한눈에 보고 싶으시다면?
🎞 내 영화를 온라인에서 판매하고 싶다면?
🍿 그동안 만나보지 못했던 나만의 영화를 디깅하고 싶다면?
필름업(FILMUP) 둘러보기


📷 촬영장비 렌탈, 한 번에 검색하고 싶으시다면?
장비모아 둘러보기