Skip to content

The Weaver News, built in Kotlin, offers users up-to-date global news across diverse categories using the News API. With MVVM architecture and Jetpack components, it provides an intuitive, immersive news reading experience.

License

Notifications You must be signed in to change notification settings

mkaomwakuni/Weaver-News-App

Repository files navigation

Weaver News

Stay Informed with the Global Latest News

Built from a Concept
Inspired by Rizal for Kretya Studio (profile)

Concept Image

Screenshots

Screenshot 1 Screenshot 2 Screenshot 4 Screenshot 1
Screenshot 3 Screenshot 1 Screenshot 4 Screenshot 5

Key Features

  • Browse and read the latest news articles from various trusted sources.
  • Filter news by categories such as technology, sports, entertainment, and more.
  • Save your favorite articles for offline reading (bookmarks).
  • Home screen widget for quick access to the latest news.
  • Push notifications for latest news updates.
  • Multi-language support with customizable language preferences.
  • Dark/Light theme support.
  • Beautiful animations and transitions between screens.
  • Loading effects for better user experience.
  • Article sharing functionality.
  • Detailed article view with HTML content parsing.
  • Intuitive and user-friendly interface for a seamless news reading experience.

Technologies

  • Kotlin: Kotlin is a programming language that can run on JVM. Google has announced Kotlin as one of its officially supported programming languages in Android Studio; and the Android community is migrating at a pace from Java to Kotlin

  • Jetpack Compose – Android’s modern declarative UI toolkit for building dynamic and responsive interfaces with Kotlin.

  • BroadcastReceiver – A mechanism for listening to system-wide or app-specific events (e.g., network changes, battery status, screen on/off). Unlike background tasks, it reacts to real-time events.

  • WorkManager – A flexible background task scheduler for deferrable work (e.g., syncing data, notifications). Ensures tasks run even if the app closes.

  • Retrofit: Retrofit is a REST client for Java/ Kotlin and Android by Square inc under Apache 2.0 license. Its a simple network library that is used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API

  • Coil: Image loading library for Kotlin coroutines.

  • Room: Local database for efficient data storage.
  • Material : Modular and customizable Material Design UI components for Android.

  • App Widgets: Home screen widget for quick news access.

  • Notifications: Push notifications for latest news.

  • Kotlin Flow: For asynchronous data streaming.

  • Kotlin Coroutines: A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.

  • ViewModel : The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way Navigation: Helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.

  • Hilt : A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project

MVVM Architecture

This project follows the MVVM (Model-View-ViewModel) architecture pattern for clean separation of
concerns:

  • Model: Represents data and business logic (domain models, repositories)
  • View: UI components built with Jetpack Compose
  • ViewModel: Manages UI-related data, handles user interactions, and communicates with
    repositories

Setup Requirements

  • Android device or emulator
  • Android Studio

Getting Started

In order to get the app running yourself, you need to:

  1. Clone this project
  2. Import the project into Android Studio
  3. Connect your android device with USB or just start your emulator
  4. After the project has finished setting up it stuffs, click the run button

Support

  • Found this project useful ❤️? Support by clicking the ⭐️ button on the upper right of this page. ✌️
  • Notice anything else missing? File an issue
  • Feel free to contribute in any way to the project from typos in docs to code review are all welcome.

About

The Weaver News, built in Kotlin, offers users up-to-date global news across diverse categories using the News API. With MVVM architecture and Jetpack components, it provides an intuitive, immersive news reading experience.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages