상명대학교 공지사항 알리미
평일 오후 7시, 사이트에 올라온 공지사항을 스크래핑하여 메일로 보내주는 자동화 프로그램입니다.
상명대학교 공식 홈페이지에 올라온 공지사항을 받아보실 수 있습니다.
- 2023.05.29 ~ 2023.06.04
- 이 저장소를 클론합니다
git clone https://github.com/llqqssttyy/SMU-Notification.git
- 클론한 디렉토리로 이동해 의존성을 설치합니다.
cd your-directory npm install
- GitHub Actions를 활성화합니다.
- GitHub Secrets에 환경변수를 추가합니다.
gmail을 사용하실 경우 PASSWORD엔 2단계 인증을 통해 발급 받은 비밀번호를 넣어줘야 합니다. 해당 내용은 이곳을 참고해주세요.
EMAIL_SERVICE=gmail EMAIL_ADDRESS=your-email EMAIL_PASSWORD=your-password
- node.js
- cheerio
스크래핑한 공지사항 페이지에서 데이터를 뽑고, 이메일 전송용 html을 동적으로 생성할 때 사용했습니다. 해당 내용은 makeHTML.js에서 확인 가능합니다. - axios
HTTP 통신을 통해 스크래핑할 페이지의 html 문서를 불러오는 데 사용했습니다. - nodemailer
이메일을 전송할 때 사용한 라이브러리입니다. transporter.sendMail() 함수를 async로 감싼 후 모듈화하여 사용했습니다. 해당 내용은 sendMail.js에서 확인 가능합니다. - dotenv
이메일 서비스, 이메일 주소, 비밀번호와 같이 민감한 정보를 .env 파일에 저장하고, 이를 사용하기 위해 해당 라이브러리를 이용했습니다. - Github Actions
원하는 시점에 프로그램을 백그라운드에서 실행하기 위해 Github Actions의 main.yml 파일에 cron 설정을 했습니다.