Skip to content

kuluruvineeth/MVVMNews

Repository files navigation

News 🧿

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


Preview 🌞

Breaking News Web View Saving Saved News Delete Saved
Search News Searched News Internet Check

Built With 🛠

  • 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.

Package Structure 📦

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             

Architecture 🗼

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

Build-tool 🧰

You need to have Android Studio to build this project.
android-studio


Contribute 🤝

If you want to contribute to this app, you're always welcome!

Contact 📩

Have an project? DM me at 👇

Drop a mail to:- kuluruvineeth8623@gmail.com


Thank You 🙏👏

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages