Skip to content
goodkorea72-stackPublic

About

πŸ—žοΈ μ˜€ν”ˆμ†ŒμŠ€ & μ‹ ν˜• AI λ‰΄μŠ€ 12μ‹œκ°„ λΈŒλ¦¬ν•‘ PWA (React 19 + Vite 8 + GitHub Actions + Pages)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

πŸ—žοΈ AI NEWS β€” 12μ‹œκ°„ λΈŒλ¦¬ν•‘

μ˜€ν”ˆμ†ŒμŠ€ & μ‹ ν˜• AI λ‰΄μŠ€λ₯Ό ν•˜λ£¨ 2번(12μ‹œκ°„ 간격) μžλ™μœΌλ‘œ λΈŒλ¦¬ν•‘ν•΄μ£ΌλŠ” PWA μ›Ή μ•± 슀마트폰 ν™ˆ 화면에 μ„€μΉ˜ν•˜λ©΄ μ•±μ²˜λŸΌ μ‚¬μš©ν•  수 μžˆμ–΄μš”.

React Vite TypeScript PWA

✨ κΈ°λŠ₯

  • 12μ‹œκ°„ μžλ™ λΈŒλ¦¬ν•‘ β€” ν•œκ΅­μ‹œκ°„ 맀일 09:00 / 21:00에 λ‰΄μŠ€ μžλ™ κ°±μ‹ 
  • AI λ‰΄μŠ€ 선별 β€” 7개 μ†ŒμŠ€μ—μ„œ μˆ˜μ§‘ ν›„, μ˜€ν”ˆμ†ŒμŠ€/μ‹ ν˜•λͺ¨λΈ/업계 ν‚€μ›Œλ“œ μŠ€μ½”μ–΄λ§μœΌλ‘œ μƒμœ„ 60건 제곡
  • μΉ΄ν…Œκ³ λ¦¬ νƒ­ β€” 전체 / μ˜€ν”ˆμ†ŒμŠ€ 🟒 / μ‹ ν˜•λͺ¨λΈ πŸš€ / 업계 🏒
  • ν•œκ΅­μ–΄ λ²ˆμ—­ λ²„νŠΌ β€” 영문 λ‰΄μŠ€λ₯Ό μ›ν„°μΉ˜λ‘œ ν•œκ΅­μ–΄ λ²ˆμ—­ (MyMemory 무료 API)
  • μ˜€ν”„λΌμΈ 지원 β€” Service Workerκ°€ μ΅œμ‹  λ‰΄μŠ€ μŠ€λƒ…μƒ·μ„ μΊμ‹œ
  • 닀크λͺ¨λ“œ / 라이트λͺ¨λ“œ β€” μ‹œμŠ€ν…œ ν…Œλ§ˆ μžλ™ λŒ€μ‘
  • 읽음 ν‘œμ‹œ / 관련도 점수 / λ‹Ήκ²¨μ„œ μƒˆλ‘œκ³ μΉ¨

πŸ—οΈ μ•„ν‚€ν…μ²˜ (λ¬΄μ„œλ²„)

GitHub Actions (cron 12h)
        β”‚  node scripts/fetch-news.mjs
        β–Ό
  public/data/news.json  ← ── 컀밋
        β”‚  push 트리거
        β–Ό
GitHub Pages (μžλ™ 배포)
        β”‚  same-origin fetch (CORS μ—†μŒ)
        β–Ό
πŸ“± PWA (React 19 + Vite 8 + TS)
  • λ‰΄μŠ€ μˆ˜μ§‘: actions/checkout + setup-node + npm ci ν›„ node scripts/fetch-news.mjs
  • 배포: actions/deploy-pages (GitHub Pages, /ai-news/ 경둜)

πŸ“‘ λ‰΄μŠ€ μ†ŒμŠ€

μ†ŒμŠ€ μœ ν˜• μ•„μ΄μ½˜
Hugging Face Blog RSS πŸ€—
arXiv cs.AI RSS πŸ“„
Hacker News (AI 검색) RSS 🐝
The Decoder RSS πŸ”
Simon Willison's blog RSS πŸ§ͺ
Google AI Blog RSS πŸ”¬
GitHub Trending HTML ⭐

πŸ› οΈ 둜컬 개발

npm install
npm run dev        # 개발 μ„œλ²„ (http://localhost:5173)
npm run fetch-news # λ‰΄μŠ€ μˆ˜λ™ μˆ˜μ§‘ β†’ public/data/news.json
npm run build      # tsc + vite build + μ„œλΉ„μŠ€μ›Œμ»€ 생성
npm run preview    # ν”„λ‘œλ•μ…˜ λΉŒλ“œ 미리보기

πŸ“± 슀마트폰 μ„€μΉ˜

  1. 배포된 μ‚¬μ΄νŠΈ 접속 (GitHub Pages μ£Όμ†Œ)
  2. λΈŒλΌμš°μ € 메뉴 β†’ "ν™ˆ 화면에 μΆ”κ°€" (iOS: 곡유 β†’ ν™ˆ 화면에 μΆ”κ°€)
  3. μ„€μΉ˜ μ™„λ£Œ! μ•±μ²˜λŸΌ μ‚¬μš©

πŸ”„ λ‰΄μŠ€ κ°±μ‹  μ£ΌκΈ°

  • fetch-news.yml β€” 맀일 UTC 00:00 / 12:00 (= KST 09:00 / 21:00) λ‰΄μŠ€ μˆ˜μ§‘ ν›„ 컀밋
  • deploy.yml β€” pushλ§ˆλ‹€ μžλ™μœΌλ‘œ Pages 배포
  • μˆ˜λ™ μ‹€ν–‰: Actions νƒ­ β†’ fetch-news β†’ Run workflow

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

ai-news/
β”œβ”€β”€ .github/workflows/
β”‚   β”œβ”€β”€ fetch-news.yml   # 12μ‹œκ°„ λ‰΄μŠ€ μˆ˜μ§‘ (cron)
β”‚   └── deploy.yml       # GitHub Pages 배포
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ sources.json     # λ‰΄μŠ€ μ†ŒμŠ€ μ„€μ •
β”‚   β”œβ”€β”€ fetch-news.mjs   # μˆ˜μ§‘κΈ° (RSS + HTML 슀크랩 + μŠ€μ½”μ–΄λ§)
β”‚   β”œβ”€β”€ gen-icons.mjs    # PWA μ•„μ΄μ½˜ 생성 (sharp)
β”‚   └── gen-sw.mjs       # Service Worker μžλ™ 생성
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ data/news.json   # μˆ˜μ§‘ κ²°κ³Ό (컀밋 λŒ€μƒ)
β”‚   β”œβ”€β”€ icons/           # PWA μ•„μ΄μ½˜
β”‚   └── manifest.webmanifest
└── src/
    β”œβ”€β”€ components/      # NewsCard, CategoryTabs, BriefingBadge
    β”œβ”€β”€ hooks/           # useNews, useNow, useArticles
    β”œβ”€β”€ lib/             # newsApi, translate, storage
    └── App.tsx

πŸ“„ λΌμ΄μ„ μŠ€

MIT

About

πŸ—žοΈ μ˜€ν”ˆμ†ŒμŠ€ & μ‹ ν˜• AI λ‰΄μŠ€ 12μ‹œκ°„ λΈŒλ¦¬ν•‘ PWA (React 19 + Vite 8 + GitHub Actions + Pages)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages