천하제일웃음대회

구글 클라우드 스터디 해커톤 쿠버네티스 데모 앱

https://hello-android-bdaac.firebaseapp.com/

기능 : 사진을 찍으면 웃음 점수와 순위를 보여줌.

주의 : 사진찍기 클릭시 사진을 서버에 저장하는 것에 동의하는 것으로 간주합니다.
단, 매주 일요일 데이터 리셋 됨.
PC에서는 IE 빼고 다 됨, 안드로이드에서는 크롬 브라우저 지원

수원에서 매주 금요일 AM 10:00 ~ PM 14:30 개발 모임 중
퍼블리셔, UI/UX 디자이너 각 1명 환영합니다.

Project Stack

Client

이 프로젝트의 클라이언트에는 다음과 같은 구글의 기술 및 서비스, 라이브러리를 사용하고 있습니다.

  • Angular6
  • angularfire2
  • AdSense
  • Analytics

Server

이 프로젝트의 서버측에는 다음과 같은 구글의 기술 및 서비스, 라이브러리를 사용하고 있습니다.

  • Kubernetes Engine
  • Container Registry
  • Cloud Storage
  • Cloud Firestore
  • Cloud Vision API
  • Cloud Functions

다만 데모 앱이 웹캠을 사용하는데 Https 프로토콜이 아니면 보안상 브라우저에서 권한 허용이 안 되기 때문에 Https를 기본 지원하는 Firebase Hosting에 최종 배포하였음.

  • Firebase Hosting

Project Architecture

웹캠을 사용하기 위해 Https 프로토콜을 사용해야 한다. 사진을 찍으면 Cloud Storage에 사진을 저장하고 저장된 Url을 Cloud Vision API에 전달하여 웃음 정도를 얻는다. 이를 100점 만점으로 환산하여 보여준다.
그리고 Cloud Firestore에 점수와 사진의 Url을 저장하고 웹 페이지에 순위 정보를 갱신한다. 매주 데이터를 초기화 하기 위해 일요일 23시 59분에 cron-job에서 Cloud Functions의 함수를 호출하여 모든 데이터를 삭제한다.