/khuda_4th_de_project

AirDnB : 개발 행사 및 대회 소식 알림봇

Primary LanguagePython

AirDnB : 개발 행사 및 대회 소식 알림봇

Apache Airflow badge Amazon S3 badge Amazos AWS badge prometheus badge grafana badge python badge Flask badge

AirDnBAirflow를 이용한 개발 행사 및 대회 소식 알림봇입니다.

주기적으로 데이터를 크롤링하고 개발 뉴스 및 행사에 대한 정보를 간략하게 요약하는 알림봇입니다.


🔍 Preview

  1. 카카오톡에서 'AirDnB' 친구 추가
  2. 메시지 프롬프트 창에 velog 인기글, 공모전, 개발 행사 정보 질문 선택
  3. 알림봇이 질문에 따라 요약한 정보를 메시지로 제공
  4. 필요시 첨부된 링크를 통해 자세한 정보 확인 가능

  1. 슬랙 'airflow-dev-event' 워크 스페이스 가입
  2. 'airdnb-bot' 채널 선택
  3. 알림봇이 주기적으로 요약한 정보를 메시지로 제공

🧑🏻‍💻 Members

에어디앤비(AirDnB)입니다!

airflow를 이용해 data pipeline을 구축했고, 이러한 작업을 바탕으로 알림 bot을 만드는 프로젝트로, airbnb를 차용하여 airdnb로 팀이름을 정했습니다.


김건형 김효준 노명은 유혜지
:-: :-:
조민서 최용빈 한상진 허윤지
:-:

⌘ Project BackGround

  • 배경 : 개발 행사나 소식을 모아놓은 사이트는 이미 존재하지만, 개발 행사나 세미나 등과 같은 소식이 뭐가 있나 매번 들어가기 번거롭다.

  • 목표 : 개발 행사 및 소식을 쉽고 간단하게 접할 수 있는 서비스를 제공합니다.


⚙️ Service Architecture

스크린샷 2023-12-03 오후 7 35 11

1️⃣ Airflow DAG 구성을 통해 자동 크롤링

image


  • Airflow는 데이터 파이프라인을 스케줄링 및 관리하기 위한 오픈소스 플랫폼이다. Airflow DAG은 작업이 어떻게 연결되고 실행되는 지를 정의한다.
  • Airflow DAG의 구성: 개발 행사 + 공모전 + velog의 트렌딩 글을 크롤링한 코드
  • 각각의 dag.py에서 크롤링을 자동화하고 csv 파일로 저장한다.

2️⃣ S3에 데이터 업로드

image

  • AWS S3(Amazon S3): AWS에서 제공하는 클라우드 기반의 객체 스토리지 서비스
  • s3에 DAG 파일 업로드

3️⃣ Grafana 모니터링 대시보드

image

image

  • Prometheus: 메트릭을 주기적으로 스크랩
  • Grafana: prometheus의 메트릭으로 대시보드 구성
  • Grafana 대시보드: Task들의 성공 여부, Scheduler의 상태 체크, Scheduler의 진행 상태, Airflow Executor 정보, 현재 로드된 DAG의 수

💿 Data