MohitGupta121 / NewsDo

NewsDo - An app Easy to use like reel in instagram, News App with awesome user interface, save news, search news, different category, all countries news in one app. NewsDo is built using Kotlin and follows all modern android Development practices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NewsDo

NewsDo is an app easy to use like reel in instagram, News App with awesome user interface. You can save news, search news with different category and all countries news in one app.

Application Install

You can Install and test latest NewsDo app from below πŸ‘‡

NewsDo

Setup

Clone the repository on your machine. Open the project on your IDE and add your api key from newsapi and everything will be setup

About

It users newsapi to fetch all the news with the help of retrofit2, mvvm, livedata and much more...

  • Fully functionable.
  • Clean and Simple Material UI.
  • It supports dark theme too πŸŒ—.

Insights into the app πŸ”Ž

newsDo.mp4

NewsDo offers light as well as dark theme πŸŒ“. So now you can use NewsDo in whatever theme you like the most. πŸ”₯

NewsDo support saved your favourite news and you can read it whenever you need.

This app also give to access to get the news according to your interset of field/categories and do advance search in that category.

It's allow you to read news of any part of the country that you want.

NewsDo lets you read news πŸ“° daily like instagram reels or youtube shots. It allow you to get news of your interseted category. You will read all over the world or any country πŸ˜ƒ news in one app. Instead of this you also save you favourite πŸ‘ news for future.

πŸ“Έ Screenshots

Built With πŸ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • DataBinding - Binds data directly into XML layouts
    • Room - Room is an android library which is an ORM which wraps android's native SQLite database
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • GSON - A modern JSON library for Kotlin and Java.
  • Timber - A simple logging library for android.
  • GSON Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Glide - An image loading and caching library for Android focused on smooth scrolling
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Package Structure

com.mohit.newsDo    # Root Package
.
β”œβ”€β”€ data                # For data handling.
|   β”œβ”€β”€ local           # Room DB and its related classes
β”‚   β”œβ”€β”€ model           # Model data classes, both remote and local entities
β”‚   └── repo            # Single source of data.
|
β”œβ”€β”€ ui                  # UI/View layer
|   β”œβ”€β”€ adapters        # All Adapters, viewholder and diffUtils for recyclerViews
β”‚   β”œβ”€β”€ mainScreen      # Home Activity and its fragments
|   β”œβ”€β”€ ViewModel       # All News Views Model
β”‚   └── splashScreen    # SplashScreen
|
└── utils               # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

About

NewsDo - An app Easy to use like reel in instagram, News App with awesome user interface, save news, search news, different category, all countries news in one app. NewsDo is built using Kotlin and follows all modern android Development practices.

License:Apache License 2.0


Languages

Language:Kotlin 100.0%