개인 프로젝트를 진행해 보자고 결심하였으며, 거기에 맞춰 첫번째 어플을 개발하고 나서
그 개발기를 작성해보고자 이 블로그를 시작하게 되었다.
- 어플명 : 픽무비(PickMovie)
- 기능
1. 일별 국내 박스오피스 순위를 추출하여 해당 순위를 보여줌. (2003년 11월 11일 ~ 이후)
2. 하루에 하나씩 영화를 추천해 줌. (추천 기준은 랜덤한 날짜를 찍어 그 날짜에 3위 안에 들어간 영화중 평점이 8점 이상인 영화)
3. 영화 장르별 검색 기능 제공.
4. 영화 제목으로 검색 기능 제공.
5. 출연한 배우별 검색 기능 제공.
6. 각 검색에 모두 정렬 기능을 제공.
7. 영화 선택시 네이버 영화 상세 페이지 제공.
8. 어플 하단에 AdMob 추가하기. (수익모델)
- 시스템 스펙
서버는 linode에서 가장 저렴한 NaNode 1GB를 사용하자.
> AB 테스트 결과 초당 13건 정도의 요청을 처리.
> 그 이상의 경우일때 NaNode 1GB 한개 더 추가 후 NodeBalancer 추가.
> StackScripts 기능을 이용해 서버 구성을 쉽게 하도록 해당 스크립트 작성.
디비 서버의 경우는 Naver Cloud Platform 에서 30만원 쿠폰을 이용해 1년 사용해보자.
> Postgresql 을 사용해볼까 하였으나 기존 구축한 Mysql 데이터가 있음.
> 가져오기 귀찮아서 그냥 Mysql로 구축함.
서버 코드의 경우 Typescript + TypeORM + GraphQL Yoga
> 써보고 싶어서 개인 프로젝트에 사용. 별다른 이유는 없음.
클라이언트는 ReactNative + Expo + Apollo Boost
코드 베이스는 Github을 사용하였다.
- 데이터 구축
박스 오피스 순위 데이터
> 영화 진흥 위원회 (http://kobis.or.kr/kobis/business/main/main.do)
> 영화 진흥 위원회 OPEN API 사용
영화 포스터 및 평점 데이터
> 네이버 영화 API
- 이를 이용해 만든 결과물 (스크린샷)
'Dev Dialry > PickMovie' 카테고리의 다른 글
Graphql Schema and Definition (0) | 2019.01.21 |
---|---|
Make ORM entity (0) | 2018.12.13 |
Run Graphql Server with graphql-yoga (0) | 2018.12.12 |
Package Setup (0) | 2018.12.10 |