Repository navigation
Home
βMinjung edited this page Sep 26, 2026
·
3 revisions
AI-summarized daily news digest β delivered to your inbox every morning.
HackDigestλ λ§€μΌ μμΉ¨ Tech, μ£Όμ, λΆλμ° λΆμΌμ μ΅μ λ΄μ€λ₯Ό μμ§νκ³ , AI(Groq LLM)λ‘ μμ½ν ν μ΄λ©μΌλ‘ λ°μ‘νλ μλνλ λ΄μ€ λ€μ΄μ μ€νΈ μλΉμ€μ λλ€.
ꡬλ νμ΄μ§: minjungsung.github.io/hackdigest
λΉμ©: $0/month β 100% μλ²λ¦¬μ€ μν€ν μ²
| μΉ΄ν κ³ λ¦¬ | κΈ°μ |
|---|---|
| μΈμ΄ | Python 3.11 |
| AI μμ½ | Groq API (qwen/qwen3.8-27b) |
| λ²μ ν΄λ°± | Google Translate (λ¬΄λ£ API) |
| κΈ°μ¬ μΆμΆ | trafilatura |
| RSS νμ± | feedparser |
| μ΄λ©μΌ λ°μ‘ | Gmail SMTP (SSL) |
| ꡬλ νλ‘μ | Cloudflare Worker (JavaScript) |
| CI/CD & λ°νμ | GitHub Actions |
| μΊμ± | GitHub Actions Cache (μΌκ° JSON) |
| ꡬλ νμ΄μ§ | GitHub Pages (vanilla HTML/JS) |
| μ€μΌμ€λ§ | cronjob.io β workflow_dispatch |
| 보μ | Bandit + 컀μ€ν μΈμ μ /μν¬λ¦Ώ κ²μ¬ |
| μμ‘΄μ± κ΄λ¦¬ | Dependabot (μΌκ°, μλ λ³ν©) |
- λ©ν° ν ν½ λ΄μ€ νλ μ΄μ β Tech (Hacker News), μ£Όμ (Yahoo Finance/Google News), λΆλμ° (Zillow/HousingWire/CNBC)
- μ§μλ³ μμ€ β νκ΅μ΄ ꡬλ μλ νκ΅ μ£Όμ/λΆλμ° λ΄μ€, μμ΄ κ΅¬λ μλ λ―Έκ΅ μμ€
- AI μμ½ β Groq Qwen λͺ¨λΈμ΄ 3λ¬Έμ₯ μΊμ£ΌμΌ μμ½ μμ±, Google Translate ν΄λ°±
- ꡬλ μλ³ κ°μΈν β μΈμ΄ + ν ν½ μ ν
- μλ κ°μ§ ꡬλ νμ΄μ§ β λΈλΌμ°μ μΈμ΄ κ°μ§, λ°μν UI
- μ λ‘ μΈνλΌ λΉμ© β GitHub Actions + Cloudflare Workers + GitHub Pages
| νμ΄μ§ | λ΄μ© |
|---|---|
| Architecture | λ°μ΄ν° νμ΄νλΌμΈ νλ¦, μ»΄ν¬λνΈ λ€μ΄μ΄κ·Έλ¨ |
| Services | κ° μλΉμ€ μμΈ μ€λͺ (fetchers, summarizer, notifier, subscriber, worker) |
| Setup Guide | λ‘컬 μ€ν, GitHub Actions μ€μ , νκ²½λ³μ, Cloudflare Worker λ°°ν¬ |
| Adding a News Source | μ λ΄μ€ μμ€ μΆκ° λ°©λ² (fetcher ꡬν κ°μ΄λ) |
hackdigest/
βββ src/
β βββ main.py # μνΈλ¦¬ν¬μΈνΈ β μ 체 νμ΄νλΌμΈ μ€μΌμ€νΈλ μ΄μ
β βββ models.py # λ°μ΄ν° λͺ¨λΈ (Article, Subscriber, Topic, Language)
β βββ fetchers/
β β βββ __init__.py # ν ν½λ³ fetcher λΌμ°ν
β β βββ tech.py # Hacker News API fetcher
β β βββ stocks.py # Yahoo Finance / Google News μ£Όμ fetcher
β β βββ realestate.py # Zillow / HousingWire / CNBC / Google News λΆλμ° fetcher
β βββ summarizer.py # Groq LLM μμ½ + Google Translate ν΄λ°±
β βββ notifier.py # μ΄λ©μΌ λ°μ‘ (Gmail SMTP)
β βββ subscribers.py # ꡬλ
μ κ΄λ¦¬ (JSON κΈ°λ° CRUD)
β βββ cache.py # GitHub Actions Cache μ°λ
βββ worker/
β βββ src/index.js # Cloudflare Worker β ꡬλ
νλ‘μ
βββ docs/
β βββ index.html # GitHub Pages ꡬλ
νμ΄μ§
βββ subscribers.json # ꡬλ
μ λͺ©λ‘
βββ requirements.txt # Python μμ‘΄μ±
βββ .github/workflows/
β βββ daily-digest.yml # λ§€μΌ λ€μ΄μ μ€νΈ λ°μ‘
β βββ subscribers.yml # ꡬλ
μ κ΄λ¦¬ (add/remove/update)
β βββ security-scan.yml # 보μ μ€μΊ
β βββ clear-cache.yml # μΊμ μ΄κΈ°ν
β βββ release.yml # Semantic Release
βββ scripts/
βββ check_injection.py # μΈμ μ
κ²μ¬ μ€ν¬λ¦½νΈ