This project aims to build a prototype news aggregator system that fetches news from the TSN RSS feed, identifies trending news using Google Trends data, calculates sentiment scores for matching news articles, and provides an API endpoint to access relevant news.
- Python
- Django
- Celery
- RabbitMQ
- Google Trends API
- ChatGPT API
- Clone this repository.
git clone https://github.com/YuliaHladyshkevych/news-aggregator.git
- You can open project in IDE and configure .env file using .env.sample file as an example.
- Build and run the Docker containers:
docker-compose up --build
The API will be accessible at http://localhost:8000/.
- Fetches news from TSN RSS feed.
- Identifies trending news using Google Trends data.
- Calculates sentiment scores for matching news articles using ChatGPT API.
- Provides an API endpoint to access relevant news.
/api/trending-news
: Retrieves relevant news articles with headline, source link, publication date, sentiment score, and trending topic names. The news articles are sorted by sentiment score in descending order.