7. HungryOsori
• 웹 크롤링 기반 Push 서비스
• 기간 : 2016년 4월 ~ 2016년 9월(5개월)
• 인원 : 9명
• 언어 : Python, Java, Swift2
• 개발 환경 : Git, PyCharm, XCode, AndroidStudio
헝그리오소리 2016년 1학기 최종발표 7
8. 오픈소스
• 서비스 관련 소스코드 공개
• Github를 통한 새로운 크롤러 추가
헝그리오소리 2016년 1학기 최종발표 8
9. 오픈소스
• 새로운 크롤러
• Standard Output
• settings.json
• 참고 : https://github.com/HyOsori/Osori-WebCrawler
헝그리오소리 2016년 1학기 최종발표 9
10. 소스 관리
• Team
• https://github.com/orgs/HyOsori/teams/hungryosori
헝그리오소리 2016년 1학기 최종발표 10
15. Android
헝그리오소리 2016년 1학기 최종발표 15
• 구독 페이지
• 구독/전체 탭 밀어서 전환 가능
• 뷰 페이저에는 서버에서 받은 크롤러 표시
• 왼쪽 측면을 손가락으로 밀면 설정 창
16. Android
헝그리오소리 2016년 1학기 최종발표 16
• Push
• 구글 FireBase Cloud Messaging 사용
• 로그인 할 때 서버로 토큰을 보냄
• 토큰을 이용하여 푸시 메시지를 보냄
• 해결 해야 할 부분 존재
17. Android
• 오픈소스
• Scalable Layout
• new layout that helps you keep a consistent UI across any screen size and
any layout size.
• Universal Image Loader
• provide a powerful, flexible and highly customizable instrument for image
loading, caching and displaying.
헝그리오소리 2016년 1학기 최종발표 17
21. Server
• API 서버의 기능
• Application의 회원 가입 기능을 통한 회원 정보의 저장
• 전체 크롤러 목록 관리
• 회원 정보를 통한 각 회원 별 구독중인 크롤러를 관리
• Push server에게 크롤러 별 구독자 목록 제공
헝그리오소리 2016년 1학기 최종발표 21
22. Server
헝그리오소리 2016년 1학기 최종발표 22
• API 서버 동작
PUSH 서버
API 서버
어플리케이션
- 유저 정보
- 크롤러 목록 정보
- 유저 별 크롤러 관리
- 유저별 구독 크롤러 정보
- 유저의 push token
23. Server
• 오픈소스
• Django
• 파이썬으로 작성된 오픈소스 웹 애플리케이션 프레임워크
• Django REST framework
• REST API 작성을 편리하게 할 수 있도록 해주는 프레임워크
헝그리오소리 2016년 1학기 최종발표 23
24. Push Server
• 웹 크롤러를 실행하고, 변동사항을 확인하여 푸시 메시지 발송
• Push는 Firebase Cloud Message 서비스로 구현
• Firebase Push Alram 구현
• push 서버에서 크롤러의 변화를 감지
• api 서버에 그 크롤러 정보를 구독하는 어플의 토큰을 요청
• 요청한 토큰값과 그 크롤러의 정보를 받아 구글 firebase메세지
• Push Message 발송
헝그리오소리 2016년 1학기 최종발표 24