Skip to content

davis109/news-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Powered News Aggregator App

An Android application that aggregates news from various sources, provides AI-powered recommendations, and supports offline reading with text-to-speech capabilities.

Features

  • Fetches news from NewsAPI and categorizes it by topics
  • Uses AI-based recommendations based on user preferences and reading history
  • Offline mode to save articles for later reading
  • Text-to-Speech feature for listening to news articles
  • Customizable news preferences by categories
  • Modern UI built with Jetpack Compose

Tech Stack

  • Kotlin - Programming language
  • Jetpack Compose - Modern UI toolkit
  • MVVM Architecture - Clean separation of concerns
  • Room Database - Offline storage
  • Retrofit - API calls
  • NewsAPI - News data source
  • Firebase - Analytics and Authentication
  • ML Kit - Text-to-speech functionality

Setup Instructions

1. Get a NewsAPI Key

  • Sign up at NewsAPI.org to get your API key
  • In app/build.gradle.kts, replace YOUR_NEWS_API_KEY with your actual API key:
buildConfigField("String", "NEWS_API_KEY", "\"YOUR_ACTUAL_API_KEY\"")

2. Set up Firebase (optional)

  • Create a Firebase project at Firebase Console
  • Add an Android app with package name com.sebastiandavis.news_app
  • Download the google-services.json file and place it in the app directory
  • This replaces the placeholder file in the project

3. Build and Run

  • Open the project in Android Studio
  • Sync Gradle files
  • Run the app on an emulator or physical device

Architecture

The app follows the MVVM (Model-View-ViewModel) architecture pattern:

  • Data Layer: API services, Room database, and repositories
  • Domain Layer: Business logic, recommendation engine
  • Presentation Layer: ViewModels, Composables (UI)

Screenshots

[image image image

]

Future Improvements

  • Enhanced recommendation algorithm
  • User authentication with Firebase
  • Article sharing functionality
  • Dark mode support
  • Integration with more news sources

License

[Include license information]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages