/newsletter-service

깃허브 액션을 활용하여 다수의 플랫폼들의 컨텐츠를 뉴스레터로 제공합니다.

Primary LanguageTypeScript

세.모.뉴

세상의 모든 뉴스레터

  • 어떤 서비스든, 어떤 수단으로든, 개발자의 입맛에 맞춰 뉴스레터 형태로 제공할 수 있는 서비스 (개발자가 구현만 가능하다면..ㅎ)
    • 서비스
      • API, RSS, DB 연결 가능
      • 위 기능을 제공하지 않는 경우 크롤링을 통해 정보 수집 가능
    • 수단
      • 이메일, SMS, FCM 등 어떤 형태로든 가능
  • 현재 제공 중인 뉴스레터
    • 벨로그 트렌딩 상위 게시물들

프로젝트 구조

구성도

  • TS 기반으로 설계된 서비스로 메일링, 크롤링이 구현되어 있음

뉴스레터 추가하기

도구 만들기

  • 뉴스레터의 소스를 가져오는 기능 구현하기
    • src/infra/crawler
  • 뉴스레터를 발송하는 발송하는 수단 구현하기
    • src/infra/발송수단
  • 뉴스레터 구독자 정보를 저장하는 수단 구현하기
    • src/infra/db

활용하기

  • 각각의 뉴스레터에 맞게 템플릿을 만들고 발송하는 서비스 구현하기
    • 위의 도구들을 활용할 수 있도록 구현
    • 템플릿 src/template
    • 발송하는 서비스 src/service/newsletter
  • 발송하기
    • src/index.ts 에 서비스에 도구들을 인자로 넘겨 실행되도록 구현

클라이언트

  • client 브런치에서 확인 가능
  • 해당 브런치로 push시에 깃허브 액션을 통해 깃허브 페이지 배포

배포 화면

결과물