
스타 노래방 - 노래방책 - Apps on Google Play
Save your favorite songs and easily reserve them at karaoke!
https://play.google.com/store/apps/details?id=kr.co.placea.karaoke

스타 노래방 - 노래방책 앱 - App Store
App Store에서 Ace Planet Co., Ltd의 스타 노래방 - 노래방책 앱을 다운로드하십시오.
https://apps.apple.com/kr/app/%EC%8A%A4%ED%83%80-%EB%85%B8%EB%9E%98%EB%B0%A9-%EB%85%B8%EB%9E%98%EB%B0%A9%EC%B1%85/id6738462301
한 줄 소개
TJ·KY 노래방 기기의 곡 번호·신곡·인기곡을 검색하고, 플레이리스트로 관리할 수 있는 모바일 앱입니다.
기존 Android(Kotlin) 앱을 개발·운영한 후, iOS 출시를 위해 Flutter(Dart) 기반으로 리팩토링하여 App Store까지 배포했습니다.
곡 데이터는 Scrapy 크롤링 → PHP API → 앱(Retrofit) 파이프라인으로 구성했습니다.
주요 기능
- 📷 [메인 화면 — 인기곡 탭]
- 📷 [최신곡 탭]
- 📷 [검색 화면]
- 📷 [마이뮤직 · 플레이리스트]
지원 플랫폼
- Android: Kotlin 기반 개발 및 Google Play 배포
- iOS: Flutter(Dart) 기반 리팩토링 및 App Store 배포
문제와 해결
| 문제 | 해결 |
|---|---|
| 노래방 번호를 기기마다 따로 찾아봐야 하는 어려움 | TJ / KY 채널 전환 + 검색·신곡·인기곡 통합 |
| 곡 DB를 수동으로 관리하기 어려움 | Scrapy 웹 크롤링 → DB 저장 → API를 통한 JSON 변환 → 앱 화면 렌더링 |
| 오프라인 상태에서 API 화면이 빈 화면으로 표시됨 | 네트워크 상태 확인 후 안내 화면을 제공하는 fallback 구현 |
| Android 앱만 제공되어 iOS 사용자가 이용하기 어려움 | 기존 기능을 Flutter로 리팩토링하여 iOS 앱으로 확장 |
| 앱 운영 및 수익화 필요 | AdMob 광고 적용 및 Google Play / App Store 배포 |
주요 기능
1) 곡 검색
- 제목 / 가수 기반 검색
- TJ · KY 채널 선택 및 전체 검색
- 검색 결과를 마이뮤직에 추가



2) 인기곡 / 신곡
- 월별 인기곡·신곡 검색
- TJ / KY 채널 전환



3) 마이뮤직 · 플레이리스트
- Room DB를 활용한 로컬 데이터 저장
- 플레이리스트 생성 및 관리
- 플레이리스트 색상 설정
- 곡 추가 / 삭제



4) 네트워크 Fallback
- 검색·인기곡·신곡 등 API가 필요한 화면 진입 전 네트워크 상태 확인
- 네트워크가 없으면 API 호출을 수행하지 않고 안내 메시지 표시
- 빈 화면 대신 「네트워크에 연결을 확인해주세요」 안내
- 검색 / 인기곡 / 신곡 / 탭 전환 구간에 동일하게 적용

데이터 흐름
[DB] → [PHP API] → [JSON Response] → [Android / Flutter] → [곡 목록 화면 렌더링]

내가 기여한 점
1) Android 앱 개발
Kotlin과 Android SDK를 기반으로 앱 기능 100%를 혼자서 개발하였습니다.
- MVVM 기반 구조 적용
- ViewModel / Repository 구성
- Hilt를 이용한 의존성 주입
- Retrofit / OkHttp를 활용한 API 통신
- Room을 활용한 로컬 플레이리스트 저장
- Google Play Store 출시 및 운영
2) Android → Flutter 리팩토링
기존 Android 앱을 iOS에서도 제공하기 위해 Flutter(Dart) 기반으로 리팩토링했습니다.
- 기존 Android 앱의 주요 기능 분석 및 구조 파악
- 기존 API 및 데이터 흐름을 유지하면서 Flutter 앱으로 기능 재구현
- Android / iOS 환경을 고려한 UI 및 기능 대응
- Flutter 기반 앱으로 iOS App Store 배포 진행
이를 통해 Android 네이티브 개발부터 Flutter 크로스플랫폼 개발, 실제 앱스토어 배포까지 경험했습니다.
기존 Android
Kotlin
Android SDK
Retrofit
Room
Hilt
↓
Flutter 전환
Dart
Flutter3) AdMob 수익화 적용
앱 서비스 운영을 위해 Google AdMob을 적용하여 광고 수익화 기능을 구현했습니다.
- AdMob 앱 및 광고 단위 등록
- 메인 화면 및 종료 화면 광고 적용
- Ads Application ID 및 AD_ID 권한 설정
- 광고가 앱 UI와 자연스럽게 동작하도록 적용
- Firebase Analytics 연동
4) Google Play Store 배포
Android 앱을 실제 서비스로 출시하기 위해 Google Play Console을 활용하여 배포 및 운영을 진행했습니다.
- 앱 서명 키 관리
- AAB 빌드 및 업로드
- Google Play Console 앱 등록
- 프로덕션 배포
- targetSdk 36(Android 16) 대응
- 스토어 상세 정보 및 리뷰 유도 링크 연동
5) Apple App Store 배포
Android 앱의 주요 기능을 Flutter로 리팩토링한 후 iOS 앱으로 확장하여 App Store에 배포했습니다.
- Flutter 기반 iOS 앱 빌드
- App Store Connect 등록
- 앱 정보 및 스토어 등록 정보 설정
- App Store 심사 및 배포 진행
프로젝트를 통해 얻은 경험
Android 네이티브 개발 → Flutter 리팩토링 → 광고 수익화 → Google Play / App Store 배포까지 직접 경험하며, 단순한 기능 개발을 넘어 모바일 앱의 개발부터 출시 및 운영까지 전체 사이클을 경험했습니다.
기술 스택
- Android
- Kotlin, Android SDK
- Cross Platform
- Flutter, Dart
- UI
- ViewBinding, Material
- Architecture
- MVVM, ViewModel, Repository, LiveData
- DI
- Hilt
- Network
- Retrofit, OkHttp, Gson
- Local
- Room
- Backend
- PHP, MySQL, Scrapy
- Ads / Analytics
- AdMob, Firebase Analytics
- Deploy
- Google Play, App Store
Scrapy를 이용한 웹크롤링 라이브러리를 사용하여 곡 데이터를 수집하고 PHP API로 제공한 뒤, Kotlin 앱에서 Retrofit으로 적용하였습니다. Play 출시 중 발견한 오프라인 빈 화면은 네트워크 체크로 안내하도록 고쳤고, AdMob으로 수익화를 붙였습니다.
Flutter Dart언어를 이용하여 iOS 앱스토어에 업로드를 위해 리팩토링도 진행하였습니다!

스타 노래방 - 노래방책 앱 - App Store
App Store에서 Ace Planet Co., Ltd의 스타 노래방 - 노래방책 앱을 다운로드하십시오.
https://apps.apple.com/kr/app/%EC%8A%A4%ED%83%80-%EB%85%B8%EB%9E%98%EB%B0%A9-%EB%85%B8%EB%9E%98%EB%B0%A9%EC%B1%85/id6738462301