Skip to content

azattech/NewsAppMVVM

Repository files navigation

NewsAppMVVM

NewsApp is a sample news app built using Modern Android Development (Architecture Components, MVVM, Kotlin, Coroutines, Retrofit, Room, Dagger-Hilt)

This is a simple news app 🗞️ which uses NewsAPI to fetch top news headlines from the API. This app also includes Room DB you can add a news or delete it from locale storage.

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.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Room - SQLite object mapping library.
  • Retrofit 2 - A type-safe HTTP client for Android and Java.
  • GSON Converter - A Converter which uses Gson for serialization to and from JSON.
  • Dagger-Hilt - For dependency injection.

Architecture

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

API key 🔑

You'll need to provide API key to fetch the news from the NewsAPI

License

Designed and developed by 2020 theazat (Azat Sayan)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

NewsApp is a sample news app built using Modern Android Development (Architecture Components, MVVM, Kotlin, Coroutines, Retrofit, Room, Dagger-Hilt)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages