6 Commits

Author SHA1 Message Date
544f5a075b Merge pull request 'feat: pin a fixed article to the top of news results' (#1) from feat/pinned-news-article into main
All checks were successful
Docker Build and Push - News Service / Build and Push News Service Image (push) Successful in 40s
Docker Build and Push - News Service / Build Summary (push) Successful in 0s
Reviewed-on: #1
2026-06-04 08:33:46 +00:00
08cdfe7607 feat: pin a fixed article to the top of news results
Add PinnedArticleService that always returns configured Naver articles
first to the front-end. Articles are built from a bare URL via a new
NewsApiClient.buildArticleFromUrl (OG/meta parsing + existing content and
image-localization pipeline), cached to disk with a TTL, and prepended
with de-duplication in NewsStorageService. Configurable via
NEWS_PINNED_ARTICLE_URLS / NEWS_PINNED_CATEGORIES / NEWS_PINNED_TTL_MS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 16:33:17 +08:00
b57b64ef95 feat: implement detail caching for news articles to optimize content fetching
All checks were successful
Docker Build and Push - News Service / Build and Push News Service Image (push) Successful in 42s
Docker Build and Push - News Service / Build Summary (push) Successful in 0s
2026-04-30 16:38:02 +08:00
9a0b41459c feat: add Docker build and push workflow for news service
All checks were successful
Docker Build and Push - News Service / Build and Push News Service Image (push) Successful in 37s
Docker Build and Push - News Service / Build Summary (push) Successful in 0s
2026-04-30 14:49:54 +08:00
aa9cf128d5 feat: update news service to fetch Naver Stock news and enhance category handling 2026-04-30 14:20:56 +08:00
3d891d781c feat: initialize news service with core functionality
- Add package.json for project configuration and dependencies.
- Implement NewsApplication class to manage service lifecycle and HTTP pipeline.
- Create CategoryCatalog for managing news categories.
- Introduce ServiceConfig for environment variable management.
- Load environment variables from .env files.
- Develop NewsApiCompatibilityController to mimic NewsAPI endpoints.
- Create NewsController for querying and refreshing news data.
- Establish AbstractJsonRepository for JSON storage operations.
- Implement main entry point in index.js to bootstrap the application.
- Create CategoryNewsRepository for category-specific news storage.
- Add ConsoleLogger for structured logging.
- Implement NewsApiClient for fetching articles from NewsAPI.
- Develop NewsRefreshScheduler for scheduling news refresh tasks.
- Create NewsStorageService to coordinate news data management.
2026-04-30 12:10:00 +08:00