Skip to content

asyncvibe/news_ninja_brightdata_mcp

Repository files navigation

🥷 NewsNinja

A powerful news and social media summarization tool that converts text content into audio summaries.

📖 Overview

NewsNinja is an innovative application that aggregates content from news sources and Reddit, processes it using AI, and converts it into concise audio summaries. Perfect for staying informed while on the go!

✨ Features

  • 🎯 Topic-based content filtering
  • 🌐 Multiple data sources:
    • News articles
    • Reddit discussions
    • Combined sources
  • 🎙️ Text-to-Speech conversion
  • 📱 User-friendly web interface
  • ⬇️ Downloadable audio summaries

🛠️ Technical Architecture

The application consists of several key components:

  • frontend.py: Streamlit-based web interface
  • backend.py: Main API server
  • news_scraper.py: News articles fetching module
  • reddit_scraper.py: Reddit content scraping module
  • models.py: Data models and structures
  • utils.py: Utility functions and helpers

📋 Prerequisites

  • Python 3.8+
  • pipenv (for dependency management)
  • Internet connection for fetching news and Reddit content

🚀 Installation

  1. Clone the repository:
git clone [repository-url]
cd newsninja
  1. Install dependencies using pipenv:
pipenv install
  1. Activate the virtual environment:
pipenv shell

⚙️ Configuration

Make sure to set up the following before running the application:

  1. Backend server configuration in frontend.py:

    • Default: http://localhost:1234
    • Update port if needed
  2. Ensure the audio/ directory exists for storing generated audio files

🏃‍♂️ Running the Application

  1. Start the backend server:
python backend.py
  1. In a new terminal, launch the frontend:
streamlit run frontend.py
  1. Access the web interface at http://localhost:8501

📝 Usage

  1. Select your preferred data source (News, Reddit, or Both) from the sidebar
  2. Enter a topic you want to analyze
  3. Click the "Generate Summary" button
  4. Wait for the audio summary to be generated
  5. Play the audio directly in the browser or download it for later

🗂️ Project Structure

newsninja/
├── frontend.py      # Streamlit web interface
├── backend.py       # API server and main logic
├── models.py        # Data models
├── news_scraper.py  # News fetching module
├── reddit_scraper.py# Reddit content scraper
├── utils.py        # Utility functions
├── Pipfile         # Dependencies
├── Pipfile.lock    # Locked dependencies
└── audio/          # Generated audio files

🤝 Contributing

Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

👥 Authors

  • [Your Name/Team Name]

🙏 Acknowledgments

  • Built with Streamlit
  • Powered by Python
  • Uses various news APIs and Reddit's API

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages