on
파이썬-실습(1) 카카오톡 날씨 알림 프로젝트
파이썬-실습(1) 카카오톡 날씨 알림 프로젝트
이번에 포트폴리오 겸 저의 실력 향상을 위해 파이썬을 이용하여 프로젝트를 하나 계획했습니다.
혼자서 진행하기에 맨 처음 설계부터 시작해서 제가 할 수 있는 범위를 정하고 어플리케이션의 내용을 생각하면서
차근차근 베이스부터 쌓아가기로 시작했습니다.
먼저 저의 인프라는 약 이렇습니다.
3-tier로 설계했으며 아래에 각각의 S/W를 선정한 이유를 작성했습니다.
APache와 NginX를 정확히 모르신다면 이 게시글을 참고하시면 좋을것 같습니다.
https://cleaning-toolbox.tistory.com/43
국내에서는 NginX가 Apache를 따라잡았고 웹 서버 소프트웨어는 제가 Flask를 사용하는 이상
크게 다뤄볼만한 주제는 아니라고 판단하여 NginX를 쓰게 되었고
너무 많은 것을 욕심내다간 뭐 하나 제대로 이해하지도 못하고 그저 무의식적으로 코드만 타이핑할 것 같아
버릴건 버리고 필요한것만 챙기자고 생각했습니다.
Flask와 Django에 대해서 정확히 모르신다면 이 글이 도움될 것 같습니다.
https://cleaning-toolbox.tistory.com/44
맘같아서 프레임워크로는 Django를 사용하고 싶었지만 Flask에 비해 숙련도도 없고 따로 필요한 부분들이 많아질 것 같아서 Flask를 선택하게 되었습니다.
DB로는 처음 써보는 MongoDB를 선택하게 됐는데 프로젝트할때 익숙하긴해도 RDBMS를 쓰는 것 보다는 NoSQL을 사용하면 편할것이라고 생각했습니다. NoSQL에서는 Redis보다 한번이라도 실습때 건드려본 MongoDB를 선택했습니다.
그리고 제일 중요하게 생각하는것은 docker입니다. 아직까지 docker를 제대로 사용해본적도 없고 단순히 이미지만 불러다가 쓴게 전부였기에 이번 프로젝트의 중점은 docker에 초점을 두었다고 해도 무방합니다.
마지막으로는 이 프로젝트를 실제 운영하고 배포할 것이기에 AWS EC2에 올릴 예정이고 아직 취준생이기에 free-tier단계의 리소스들만 사용할 예정입니다.
간략하게 프로젝트의 중점적인 내용들을 간단하게 설명하겠습니다.
1. DB에 기상청 API를 사용하여 계속해서 기상데이터를 쌓습니다.
2. User가 Kakao Access Token을 발급받게끔 접근권한을 받고 코드를 생성시켜 제가 User에게 카톡을 보낼 수 있는 권한을 가지게 합니다.
3. User는 카카오톡 챗봇을 통해 자신이 원하는 기상의 지역, 날씨, 시간 등을 설정합니다.
4. 이러한 설정값들은 DB에 저장됩니다.
5. 하나의 Flask는 User의 서버로 운영될 것이며 또 다른 Flask는 Bot의 서버로 운영될 것입니다.
6. User서버인 Flask로 DB에 저장된 User의 설정값마다 기상알림을 카카오톡으로 전송합니다
7. 이때 전송할때에는 비즈니스 App이 아니므로 챗봇이 아닌 저의 계정으로 User에게 카톡이 전송됩니다.
(이부분은 추후에 카카오 데브톡을 이용해서 문의해보겠습니다. 수익이 목적은 아니지만 될지는 모르겠습니다.)
이렇게 간단하게 내용들을 작성해보았고 계속해서 생기는 시행착오들이나 진행과정들은 작성해나가도록 하겠습니다.
from http://cleaning-toolbox.tistory.com/47 by ccl(A) rewrite - 2021-11-21 14:27:00