뉴스를 매번 수동으로 넣을 수 없으니 자동화가 필요했다.
Cloudflare Workers에 Cron 트리거를 붙이는 방식으로 구현했다. 매일 아침 연합뉴스, 매일경제, 한국경제 RSS를 파싱해서 Firestore에 저장하는 구조.
처음엔 CORS 오류와 싸웠다. 브라우저에서 직접 RSS를 가져오면 차단된다. Workers가 서버 사이드에서 실행된다는 걸 이해하고 나서 해결됐다.
// Cloudflare Workers Cron
export default {
async scheduled(event, env, ctx) {
const feeds = ['https://feeds.yonhapnewstv.co.kr/...'];
// RSS 파싱 → Firestore 저장
}
}
로그인 없이도 모든 페이지에 접근 가능했다. 오늘 로그인 가드를 추가했다.
Firebase onAuthStateChanged를 이용해서 인증 상태를 감지하고, 비로그인 시 /login으로 리다이렉트. Google 소셜 로그인도 추가했다.
서비스가 점점 서비스답게 느껴지기 시작했다.
이 글의 소감을 Threads에서 확인하세요.
스레드에서 보기