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.
You can Install and test latest NewsDo app from below π
Clone the repository on your machine. Open the project on your IDE and add your api key from newsapi and everything will be setup
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 π.
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.
- 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.
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
This app uses MVVM (Model View View-Model) architecture.