Skip to content

jeevandeepsaini/News-Pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

News Pulse Logo

News Pulse

Your Smart Companion for Personalized, Sentiment-Aware News

๐Ÿš€ Overview

NewsPulse is a modern Android application designed to deliver personalized and real-time news updates directly to your fingertips. Built with Java and XML, and powered by Firebase, NewsPulse offers an interactive platform where users can explore news articles by category, engage through likes and bookmarks, and gain emotional insights via sentiment analysis.

What sets NewsPulse apart is its integration of Python-based sentiment analysis, adding an intelligent layer to every article by evaluating its overall sentiment. This helps users not only read the news but understand the sentiment behind it โ€” positive, neutral, or negative. Whether you're staying informed about current affairs or curating your own personalized feed, NewsPulse transforms traditional news reading into a smarter, more insightful experience.

The project includes two core components:

  • News-Pulse-App: The Android frontend for user interaction and personalized news consumption.
  • News-Pulse-Backend: The backend service that aggregates, categorizes, analyzes sentiment, and stores news articles.

โœจ Key Features

  • ๐Ÿ” Secure Authentication: Sign in securely using Firebase Authentication, including Google Sign-In support.
  • ๐Ÿ“ฐ Aggregated News Feed: Curated articles from diverse and trusted sources for comprehensive coverage.
  • ๐Ÿ” Category-Based Filtering: Explore news by interestโ€”politics, tech, sports, health, and more.
  • ๐Ÿ‘ค Personalized Experience: Follow topics, receive tailored recommendations, and build your own news feed.
  • ๐Ÿ“– In-App News Reading: Read full articles in-app with an integrated WebView for a smooth, uninterrupted experience.
  • ๐Ÿ“Š Sentiment Analysis: Understand the overall sentiment of each articleโ€”positive, neutral, or negative.
  • โค๏ธ Like & Bookmark: Engage with articles by liking or saving them for later reading.
  • ๐Ÿ“ค Easy Sharing: Instantly share articles with friends across platforms.
  • โ˜๏ธ Real-Time Backend: Powered by Firestore for seamless data syncing and real-time updates.
  • โœจ Modern UI/UX: Clean, intuitive design optimized for various screen sizes and devices.
  • ๐Ÿ›ก๏ธ Secure API Layer: Robust backend infrastructure for reliable data handling and user protection.

๐Ÿ—‚๏ธ Project Structure

News-Pulse/
โ”‚
โ”œโ”€โ”€ News-Pulse-App/       # Android Application
โ”œโ”€โ”€ News-Pulse-Backend/   # Backend service for news processing
โ””โ”€โ”€ README.md             # Project overview (this file)

๐Ÿ“Œ How It Works

  1. The backend collects news articles via News API, then performs sentiment analysis and categorizes the content. It runs locally when executed and is currently deployed on GitHub Actions to run automatically once a day.
  2. The frontend (Android app) displays curated news feeds, allowing users to search, filter, like, bookmark, and follow topics.
  3. User preferences are stored in Firestore and used to deliver personalized news recommendations.
  4. Real-time updates ensure users receive the latest stories and see their interactions reflected instantly.

๐Ÿ–ฅ๏ธ Quick Start

  1. Clone the repository:

    git clone https://github.com/jeevandeepsaini/News-Pulse.git
    cd News-Pulse
  2. Set up the frontend and backend:

  3. Run both services:

    • Setup instructions, environment variables, and run commands are provided in each subproject's README.

๐Ÿ› ๏ธ Tech Stack

Android App

  • Java & XML โ€“ Core technologies for building the native Android UI.
  • Firebase Authentication โ€“ Secure user sign-in with email/Google login.
  • Cloud Firestore โ€“ Real-time NoSQL database to store user preferences and bookmarks.
  • Material Design โ€“ Modern UI components for Android.

Backend

  • Python โ€“ Used for backend automation and data processing.
  • Hugging Face Transformers (RoBERTa) โ€“ For performing sentiment analysis on news articles.
  • NewsAPI.org โ€“ Source of aggregated news data.
  • Cloud Firestore โ€“ Stores processed news articles with metadata.

Tools & Platforms

  • Git & GitHub โ€“ Version control and collaboration.
  • Android Studio โ€“ Primary IDE for Android development.
  • GitHub Actions โ€“ Workflow automation for backend news processing.

๐Ÿ›ก๏ธ Security & Privacy

  • Authentication: All user accounts are securely managed via Firebase Authentication.
  • Stored Data: Only minimal user data is stored in Firestore:
    • Name and email (from authentication)
    • User preferences and bookmarks
  • Account Deletion: Users can permanently delete their accounts after confirming their email.
  • Environment Variables:
    • Local development uses a .env file (excluded from version control).
    • On GitHub Actions, secrets are managed securely using GitHub Secrets.
  • Privacy-First Design: No data is shared with third parties; all processing happens within the app's secure environment.

โš™๏ธ API Usage & Deployment Notes

  • The project uses NewsAPI to fetch news articles.
  • You must obtain your own API key and configure it securely.
  • Secret Management:
  • Ensure you comply with each API providerโ€™s terms of use and rate limits before deploying publicly.
  • This repository provides demo configurations only; production deployments may require additional setup.

๐Ÿงน Firestore Data Cleanup

  • To stay within Firebaseโ€™s free tier, the backend includes an automated cleanup mechanism.
  • This function:
    • Deletes news articles that are 4 days or older from Firestore.
    • Runs automatically via GitHub Actions on a regular schedule.
  • This helps minimize Firestore read/write operations and keeps the database optimized.

๐Ÿ“ License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for more details.

๐Ÿ™‹โ€โ™‚๏ธ Author

Built with โค๏ธ by Jeevandeep Saini
For questions, suggestions, or collaborations โ€” feel free to connect!

About

NewsPulse is an intelligent Android news aggregator that curates personalized, category-based articles with real-time updates and sentiment insights powered by RoBERTa. Featuring Firebase integration, bookmarking, sharing, and a modern UI, it enhances how users engage with the news.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors