Modern News App is a simple news app 🗞️ built to demonstrate the use of modern android architecture component with MVVM Architecture 🏗 which uses NewsAPI to fetch breaking news, search any news from various countries and save to local database for further reading. Made with love ❤️ by Kuluruvineeth
Breaking News | Web View | Saving | Saved News | Delete Saved |
---|---|---|---|---|
Search News | Searched News | Internet Check | ||
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- 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 Configuration changes.
- Room - SQLite object mapping library.
- Jetpack Navigation - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content(fragments) within your app
- Retrofit - A type-safe HTTP client for Android.
- Glide - Fast and Efficient open source media management and image loading framework.
com.kuluruvineeth.mvvmnews # Root Package
├── adapters # Adapter for RecyclerView
├── api # For api handling.
│ ├── NewsAPI # News Api endpoints
| ├── RetrofitInstance # Created Retrofit Instance
|
├── db # For db handling
| ├── ArticleDao # Data Access Object for Article
| ├── ArticleDatabase # Article Database Instance
| ├── Converters # Type Converters
|
├── models # Model classes
│ ├── Article # Article data class
│ ├── NewsResponse # NewsResponse data class
│ ├── Source # Source data class
├── repository # Used to handle all data operations
│ ├── NewsRepository # NewsRepository class
├── ui # Used to handle all view layer
│ ├── fragments # All fragments
│ ├── ArticleFragment
│ ├── BreakingNewsFragment
│ ├── SavedNewsFragment
| ├── SearchNewsFragment
│ ├── NewsActivity # main news activity
│ ├── NewsViewModel # NewsViewModel interacting with repository and fragments
│ ├── NewsViewModelFactory
|── util # Used to handle all data operations
│ ├── Constants
| ├── Resource
|── BaseApplication
This app uses MVVM (Model View View-Model) architecture.
You need to have Android Studio to build this project.
If you want to contribute to this app, you're always welcome!
Have an project? DM me at 👇
Drop a mail to:- kuluruvineeth8623@gmail.com
Thank You 🙏👏