AirDnB
는 Airflow를 이용한 개발 행사 및 대회 소식 알림봇입니다.
주기적으로 데이터를 크롤링하고 개발 뉴스 및 행사에 대한 정보를 간략하게 요약하는 알림봇입니다.
kakaotalk
- 카카오톡 채널 등록
![](https://private-user-images.githubusercontent.com/64704608/287463753-64da25b5-8ac0-40ec-b7be-bcdc72f200c2.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNjIzNTgsIm5iZiI6MTcyMTI2MjA1OCwicGF0aCI6Ii82NDcwNDYwOC8yODc0NjM3NTMtNjRkYTI1YjUtOGFjMC00MGVjLWI3YmUtYmNkYzcyZjIwMGMyLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDAwMjA1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg2OGNlYTU1ZjgzYWMwNDAzZDAzOGFkZDY3ZDZkMTE0NDI4OGUzODhiMWY5OTc3NzdhZDEyMjllMzg1ZDUwZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MgkA7xshUOGl-_z_cdsLt7H31TQRUX1gvYYNSJUaSw0)
- 카카오톡에서 'AirDnB' 친구 추가
- 메시지 프롬프트 창에 velog 인기글, 공모전, 개발 행사 정보 질문 선택
- 알림봇이 질문에 따라 요약한 정보를 메시지로 제공
- 필요시 첨부된 링크를 통해 자세한 정보 확인 가능
slack
- 슬랙 워크스페이스 가입
![](https://private-user-images.githubusercontent.com/64704608/287508888-ca10284b-96df-408a-afb1-f783b37cf365.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNjIzNTgsIm5iZiI6MTcyMTI2MjA1OCwicGF0aCI6Ii82NDcwNDYwOC8yODc1MDg4ODgtY2ExMDI4NGItOTZkZi00MDhhLWFmYjEtZjc4M2IzN2NmMzY1LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDAwMjA1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI4NjU3ZmE5YjU1ZGVkOWE2NDM0YmMzZTBmMDM2OTg3Yzc5ZDkyMDAyZWNiODJlZWUzNjZkMDBjN2JmYWVjZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.PKyqdmxqwJCWjzTpo3IwJUr2OHqLVy02CvtnrbuYo3Y)
- 슬랙 'airflow-dev-event' 워크 스페이스 가입
- 'airdnb-bot' 채널 선택
- 알림봇이 주기적으로 요약한 정보를 메시지로 제공
팀
에어디앤비(AirDnB)
입니다!
airflow를 이용해 data pipeline을 구축했고, 이러한 작업을 바탕으로 알림 bot을 만드는 프로젝트로, airbnb를 차용하여 airdnb로 팀이름을 정했습니다.
김건형 | 김효준 | 노명은 | 유혜지 |
---|---|---|---|
:-: | :-: |
조민서 | 최용빈 | 한상진 | 허윤지 |
---|---|---|---|
:-: |
![](https://private-user-images.githubusercontent.com/64704608/287510997-92ecd184-9132-45f3-8a13-e274d4f5ea11.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNjIzNTgsIm5iZiI6MTcyMTI2MjA1OCwicGF0aCI6Ii82NDcwNDYwOC8yODc1MTA5OTctOTJlY2QxODQtOTEzMi00NWYzLThhMTMtZTI3NGQ0ZjVlYTExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDAwMjA1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY3NzY2MzgxNTJhNDliMjYwZWYyZmM3Y2I2M2UyM2IxNzJkMjJiYTFlZDhmNjUzYjA5OGNjYmIzZjNhZmVhMzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Qfz8sTAQGupQp1RlbN-iVXTY_FqsazJW2uFTF9Amaks)
-
배경
: 개발 행사나 소식을 모아놓은 사이트는 이미 존재하지만, 개발 행사나 세미나 등과 같은 소식이 뭐가 있나 매번 들어가기 번거롭다. -
목표
: 개발 행사 및 소식을 쉽고 간단하게 접할 수 있는 서비스를 제공합니다.
![스크린샷 2023-12-03 오후 7 35 11](https://private-user-images.githubusercontent.com/64704608/287511460-8a56c16e-fa27-4fa4-b714-e037921de754.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNjIzNTgsIm5iZiI6MTcyMTI2MjA1OCwicGF0aCI6Ii82NDcwNDYwOC8yODc1MTE0NjAtOGE1NmMxNmUtZmEyNy00ZmE0LWI3MTQtZTAzNzkyMWRlNzU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDAwMjA1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQwNDE0NDkxYTgwMzg4Y2M0OTY1NGU5YThiOWYzYTc2OWUyMTVhNDg5Nzg1MDA2MDQyNTFhOWM4MjJkZTZlODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.oIW3cpwfZwJ5xismCAYpaH1mrko92-Xn5Fem8F7WnQA)
- Airflow는 데이터 파이프라인을 스케줄링 및 관리하기 위한 오픈소스 플랫폼이다. Airflow DAG은 작업이 어떻게 연결되고 실행되는 지를 정의한다.
- Airflow DAG의 구성: 개발 행사 + 공모전 + velog의 트렌딩 글을 크롤링한 코드
- 각각의 dag.py에서 크롤링을 자동화하고 csv 파일로 저장한다.
- AWS S3(Amazon S3): AWS에서 제공하는 클라우드 기반의 객체 스토리지 서비스
- s3에 DAG 파일 업로드
- Prometheus: 메트릭을 주기적으로 스크랩
- Grafana: prometheus의 메트릭으로 대시보드 구성
- Grafana 대시보드: Task들의 성공 여부, Scheduler의 상태 체크, Scheduler의 진행 상태, Airflow Executor 정보, 현재 로드된 DAG의 수