본문 바로가기
앱 제작/키워드 알림 앱

키워드 알림 앱 만들기 :: 구상하기

by Kim Juhwan 2020. 12. 30.

 

1. 앱 소개
2. 방법 고민해보기
3. 전체적인 구성
4. 계획

 

1. 앱 소개

간단한 프로젝트를 시작하려고 한다.

사용자는 앱에서 키워드를 등록해놓고

학교 공지사항에 키워드가 포함된 글이 올라왔을 때 알려주는 앱을 만들 예정이다.

 

 

키워드 등록 예시 (당근 마켓)
푸시알림 예시

 

위 예시처럼 만들 예정이다.

기능만 구현하면 금방 만들 수 있을 거라 기대하고 있다.

 

만들게 된 계기는...

장학금 소식이나 신청 결과 같은 걸 기다리면서

공지사항을 하루에도 몇 번씩 새로고침하곤 했었는데

이걸 해결해보고자 시작하게 됐다. (너무 귀ㅊ ..)

그리고 이전에 우리 학교 학생들이 사용할 수 있는 스터디 팀원 모집 앱을 만들었는데

이 기능을 같이 넣어주고 싶었지만 알림에 대한 지식이 없어서 못했었다.

그래서 그 기능만을 넣은 앱을 만들어 보려고 한다!

 

 

 

 

2. 방법 고민해보기

 

학교 공지사항 크롤링

 

내가 예전에 만든 앱은 공지사항을 앱 내에서만 확인할 수 있었다.

그니까 공지사항을 확인하려면 결국 앱을 켜야 함.

나는 앱을 종료한 상태에서 푸시 알림이 자동으로 날아오기를 원했다.

 

 

 

푸시알림을 사용한 대화 서비스

 

푸시 알림은 이전에 대화 기능을 넣으면서 사용해본 적이 있다.

위 그림은 예전에 만들었던 앱의 실제 실행화면이다.

디자인을 어떻게 해야 할지 모르겠어서 카카오톡 보고 만들었는데

플레이 스토어에 등록 안 했으니까 고소 안 먹겠지...?

 

 

 

아무튼 이때 사용한 것이 파이어 베이스의 'Cloud Messaging'이다.

구글에서 푸시 알림을 쉽게 주고받을 수 있도록 제공하는 기능이다.

한 번 사용해봤으니 쉽게 구현할 수 있겠다!라고 생각했었다.

 

 

 

 

"어 근데... 크롤링을 하려면 앱이 켜져있어야 하는데...?"

"푸시 알림은 스마트폰에서 스마트폰으로 보내야 하는데 알림은 어떻게 수신하지..?"

 

서버랑 알림에 대한 개념이 없어서 혼란스러웠다.

그래서 한 일주일 동안 이것저것 검색해보고 책을 뒤져보았다.

 

 

 

 

3. 전체적인 구조

 

 

중간에 공지사항을 가져와서 파이어 베이스로 넘겨줄 서버가 필요했다.

리눅스 서버/클라이언트에 대해 공부를 해보았는데

와 이걸 다 구축해서 사용하는 건 맨 처음에 말한 '간단한' 프로젝트에 어긋나다고 생각했다...

그렇다고 돈을 주고 서버를 이용하기엔 아직 학생이니까...

내 노트북을 희생하기로 했다.

 

①번 과정에서는 학교 홈페이지가 동적 페이지여서 셀레니움을 사용하기로 했다.

웹에 대한 지식도 없어서 이놈의 빌어먹을 동적 페이지 때문에 고생한 거만 생각하면... 하...

물론 셀레니움도 뭔지 몰라서 공부했다. 모르는 게 너무 많다..

 

자바로 셀레니움(Selenium)을 써보자 :: 크롤링

1. 셀레니움이란? 2. 셀레니움 사용법 2-1. Chrome 버전 확인 2-2. Chrome WebDriver 다운로드 3. 웹페이지 분석 4. 코드 작성 5. 크롤링 5-1. 셀레니움으로 크롤링을 하는 이유 5-2. 정적 페이지? 동적 페이지?..

todaycode.tistory.com

 

②번 과정에서는 파이썬을 이용하여 공지 제목을 푸시 알림으로 보내주려고 한다.

파이어 베이스를 안드로이드 스튜디오에서만 사용할 수 있는 줄 알았는데 아니었다.

자바가 익숙해서 이클립스에서 해보려고 했는데 잘 안돼서 파이썬으로 해봤는데

역시 파이썬이 간단하긴 한 것 같다.

 

 

③번 과정은 이전에 사용했던 코드를 그대로 사용하면 되니 문제가 없을 것 같다! 아싸!

이 방법에 대해서도 추후 기록을 남길 예정이다.

 

 

 

 

4. 계획

앱에서 서버로 토큰 값을 보내는 방법이랑

토큰, 사용자가 등록한 키워드는 어떻게 관리할 건지

토큰을 그대로 노출하는 것은 위험하다고 들었는데

이를 안전하게 사용할 수 있는 방법이 무엇인지도 공부를 할 예정이다.

구상을 다 완벽하게 해놓고 하면 좋겠지만 일단 만들어보면서 문제점을 보완하려고 한다.

목표는 2주!!! 2주 안에 앱 만들기!!!!

1월 13일까지 다 만들어서 당당하게 포스팅을 하고 싶다. 파이팅!!!

 

 

 


썸네일 아이콘 출처

Icons made by Freepik from www.flaticon.com

반응형

댓글