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
- Built with Modern Android Development practices.
- Follows Guide to app architecture
- Includes unit tests for Use cases, Repository, ViewModels, API Service response.
- 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
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.