Project

iOS - 주요 음원 챠트 순위 비교 앱 (멜론,벅스,지니)

하나공신 2020. 3. 4. 12:16

1. 개발 배경


간단한 로컬 앱을 몇개 만든 이후에 네트워크를 이용한 앱을 만들어보고 싶었다.

아이디어를 고민 하던 중 최근 음원 사재기에 대한 이슈가 많아서

유명 음원사이트들의 랭킹을 한번에 비교 해보면 소비자 입장에서 좀 더 올바른 판단을 할 수 있을 것다는 생각에 개발을 시작했다.

 

전반적인 구조는 아래와 같고 AWS에 대한 지식이 적어 초반 셋팅에 시간을 많이 소모했다.

 : 파이썬 크롤링 스크립트 수행 -> Firebase에 크롤링 결과 DB형태로 저장 -> iOS TableView를 통해 DB내용 출력

 : AWS EC2 인스턴스에서 크롤링 스크립트를 정기적으로 수행

2. 개발 환경


  • 언어 : Swift, Python
  • 사용한 패키지(Swift) : Toast_Swift, FirebaseFirestore
  • 사용한 패키지(Python) : Bs4, Requests, Firebase
  • 백엔드 : FirebaseFirestore, AWS EC2

 

 

 

3. 주요 기능


1) 주요 음원사이트(멜론, 벅스, 지니)의 TOP3 순위 곡 정보 확인 

 

2) 주요 음원사이트의 TOP100곡 정보 확인 

 

3) 곡 검색 기능 : 전체 음원사이트내에 내가 원하는 가수 or 곡이 포함되었는지 검색 가능 

 

4. 회고 + 결과물


1) 시연 영상

 

2) 회고

공통적으로 사용 가능한 함수는 최대한 하나의 파일에 관리하려고 노력했지만 개발 패턴에 대한 공부가 더 필요하다.

그래도 이번 프로젝트를 진행하면서 iOS앱 개발시 필요한 여러 지식을 익혔다. 

 

[프로젝트를 진행하면서 공부한 내용]

  • 앱 아이콘 제작 
  • 런치 스크린 제작 
  • 프로젝트(앱) 이름 변경 방법
  • FirebaseFirestore 연동, 쿼리, DB 저장 
  • 동기/비동기 처리 (Swift GDC)의 개념 및 기본적인 활용 
  • AWS 기본 및 EC2 인스턴스 관리
  • 리눅스 기본 명령어
  • ViewController간 데이터 전달

 

[추가적으로 공부가 필요한 내용]

  • 개발 패턴
  • 동기, 비동기 통신에 대한 확실한 이해