https://github.com/akshay2211/NYTimes-Compose
An offline-first application in Jetpack Compose with MVVM architecture, representing a minimalistic implementation of Top Stories API.
https://github.com/akshay2211/NYTimes-Compose
android coil-kotlin compose coroutines-flow day-night-theme hacktoberfest hacktoberfest2021 hacktoberfest2022 jetpack-compose kotlin kotlin-coroutines livedata mvvm-android navigation-compose offline-first room room-database
Last synced: about 1 year ago
JSON representation
An offline-first application in Jetpack Compose with MVVM architecture, representing a minimalistic implementation of Top Stories API.
- Host: GitHub
- URL: https://github.com/akshay2211/NYTimes-Compose
- Owner: akshay2211
- License: apache-2.0
- Created: 2020-11-14T12:12:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-15T07:36:21.000Z (over 3 years ago)
- Last Synced: 2025-04-12T04:31:19.214Z (about 1 year ago)
- Topics: android, coil-kotlin, compose, coroutines-flow, day-night-theme, hacktoberfest, hacktoberfest2021, hacktoberfest2022, jetpack-compose, kotlin, kotlin-coroutines, livedata, mvvm-android, navigation-compose, offline-first, room, room-database
- Language: Kotlin
- Homepage:
- Size: 14.4 MB
- Stars: 126
- Watchers: 3
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-list - akshay2211/NYTimes-Compose - An offline-first application in Jetpack Compose with MVVM architecture, representing a minimalistic implementation of Top Stories API. (Kotlin)
README

# The NewYork Times App
[](https://androidweekly.net/issues/issue-478)
[](https://android-arsenal.com/details/3/8331)
An offline first application in [Jetpack Compose](https://developer.android.com/jetpack/compose) with [MVVM architecture](https://developer.android.com/jetpack/guide), representing a minimalistic implementation of [Top Stories API](https://developer.nytimes.com/docs/top-stories-product/1/overview).
Built with components like DataStore, Coroutines, ViewModel, LiveData, Room, Navigation-Compose, Coil-Accompanist, koin etc.
This sample showcases:
* UI state management
* Basic Material Design theming (Light & Dark)
* Offline First Functionality
* Integration with Architecture Components: Navigation, ViewModel, Room
* Minor features like Pull-to-refresh, dedicated settings screen, Time-bounded refresh, Dialogs etc.
Getting Started
---------------
To try out this sample app, you need to use the latest
[Canary version of Android Studio](https://developer.android.com/studio/preview).
This project uses the Gradle build system. To build this project, use the
`gradlew build` command or use "Import Project" in Android Studio.
For more resources on learning Android development, visit the
[Developer Guides](https://developer.android.com/guide/) at
[developer.android.com](https://developer.android.com).
### New York Times API key
NY Times-Compose uses the [Top Stories API](https://developer.nytimes.com/docs/top-stories-product/1/overview) from [New York Times](https://developer.nytimes.com/) to load stories on home screen. To use the API, you will need to obtain a free developer API key. See the
[New York Times API Documentation](https://developer.nytimes.com/get-started) for instructions.
Once you obtain the api key create a file *apikey.properties* in the root folder and add this line
```
API_KEY=
```
Screenshots
-----------




Upcoming features
-----------------
Updates will include incorporating additional Jetpack components and updating existing components
as the component libraries evolve.
Interested in seeing a particular feature of the Android Framework or Jetpack implemented in this
app?
Please open a new [issue](https://github.com/akshay2211/NYTimes-Compose/issues).
License
-----------------
Licensed under the Apache License, Version 2.0, [click here for the full license](/LICENSE).
Author & support
-----------------
This project was created by [Akshay Sharma](https://akshay2211.github.io/).
If this project help you reduce time to develop, you can give me a cup of coffee :)
[](https://www.paypal.me/akshay2211)