Skip to content

Simple News app that uses kotlin coroutines, mvvm, clean architecture and jetpack compose.

Notifications You must be signed in to change notification settings

vyshas/SimpleNewsApp

Repository files navigation

Build StatusMaterial DesignJetpack ComposeKotlin

Simple News App

App that displays news from newsapi.org.

Create a file in the root of the project (if not already there) called credentials.properties and populate with the following.

NEWS_API_KEY = 

NEWS_API_KEY from newsapi.org

Architecture

  • Built with Modern Android Development practices.
  • Follows Guide to app architecture
  • Includes unit tests for Use cases, Repository, ViewModels, API Service response.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI
  • 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
    • LiveData - Data objects that notify views when the underlying database changes.
    • Stateflow and Shareflow - StateFlow and SharedFlow are Flow APIs that enable flows to optimally emit state updates and emit values to multiple consumers.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • Dependency Injection
    • Hilt - Easier way to incorporate Dagger DI into Android apps. This is in the main branch.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • MockK - For Mocking and Unit Testing
  • Turbine - For Unit Testing flows

License 🚔

Copyright 2023 Vyshakh Amar Shanthi

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

Simple News app that uses kotlin coroutines, mvvm, clean architecture and jetpack compose.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages