https://github.com/mubaraknative/news-cast-mb
NewsCastMB is a feature rich news application build to demonstrate Modern Android Development best practices and latest tools such as DI (Hilt), Retrofit, Paging, Room, Navigation, Coroutines (Flow), Preference Settings.
https://github.com/mubaraknative/news-cast-mb
android-architecture-components coil-image-loader coroutines coroutines-flow dagger-hilt gson kotlin livedata-viewmodel navigation-component news-app paging3 preference-screen preferences-datastore retrofit room-database room-persistence-library
Last synced: 3 months ago
JSON representation
NewsCastMB is a feature rich news application build to demonstrate Modern Android Development best practices and latest tools such as DI (Hilt), Retrofit, Paging, Room, Navigation, Coroutines (Flow), Preference Settings.
- Host: GitHub
- URL: https://github.com/mubaraknative/news-cast-mb
- Owner: MubarakNative
- License: apache-2.0
- Created: 2024-03-08T17:45:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-26T15:43:24.000Z (about 1 year ago)
- Last Synced: 2025-05-26T17:44:58.339Z (about 1 year ago)
- Topics: android-architecture-components, coil-image-loader, coroutines, coroutines-flow, dagger-hilt, gson, kotlin, livedata-viewmodel, navigation-component, news-app, paging3, preference-screen, preferences-datastore, retrofit, room-database, room-persistence-library
- Language: Kotlin
- Homepage:
- Size: 4.5 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# NewsCastMB
**NewsCastMB** is a feature-rich news application built to demonstrate Modern Android Development best practices and the latest tools.
## 🛠Built With
This app is developed using:
- **Android Views (XML)** for UI design.
- **Room** database for offline news caching.
- **Paging 3** library for efficient pagination and large data handling.
- **Retrofit** for making network requests.
- **Dagger Hilt** for dependency injection.
- **Navigation Component** for seamless fragment navigation.
- **Coil** for efficient image loading.
- **Kotlin Flows & Coroutines** for reactive UI.
- **PreferenceSettingCompat** for managing app settings.
## 🚀 Features

Key features of **NewsCastMB**:
- ✅ Offline article caching using Paging 3 Remote Mediator.
- ✅ Bookmark articles for offline reading using Room.
- ✅ Multiple news categories with a tab layout.
- ✅ Edge-to-edge UI, drawing behind the system bars.
- ✅ Light & Dark theme support using PreferenceSettingCompat.
- ✅ Search functionality to find specific articles.
- ✅ Swipe to delete for bookmarked news and more...
## 👀 Note
> **Before you begin**
This app uses the **NewsAPI** service to fetch articles. To display news, you need to [register an account](https://newsapi.org/register), get an API key, and include it in **`AppConstants.API_KEY`**.
## 🔧 Improvements
This app is built with **Android Views** and relies on an external news API, which is not free.
For a more advanced version, check out **[WikiNewsFeed](https://github.com/MubarakNative/WikiNewsFeed)**—built with **Jetpack Compose** and powered by the free **WikiNews API**.