All Projects → AmrAbdelhameed → NYTimesMostPopularArticles

AmrAbdelhameed / NYTimesMostPopularArticles

Licence: other
A simple app to hit the NY Times Most Popular Articles API and show a list of articles, that shows details when items on the list are tapped (a typical master/detail app), also user able to browse/ add articles to favorite list that implements MVVM architecture using Dagger2, Retrofit, Coroutines, LiveData, RoomDatabase, Database Debugging, Data…

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to NYTimesMostPopularArticles

Coolweather
Weather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin
Stars: ✭ 154 (+305.26%)
Mutual labels:  coroutines, android-development, glide, retrofit2, databinding
MVVM-Demo
This demo for MVVM Design pattern for android
Stars: ✭ 20 (-47.37%)
Mutual labels:  glide, retrofit2, repository-pattern, mvvm-architecture, databinding
Kotlin Modular Tdd Coroutines Mvvm
A sample Kotlin app which was built with modular structure, Kotlin DSL, Kotlin Coroutines, TDD and MVVM patterns.
Stars: ✭ 256 (+573.68%)
Mutual labels:  coroutines, glide, retrofit2, mvvm-architecture, databinding
ResDelivery-Hilt-Coroutines-Mvvm-Single-Activity
This is a Sample Single Activity App (Multi Fragments) that uses Dagger-Hilt, Coroutines Flows, Paging 3 & Mvvm Clean Architecture
Stars: ✭ 28 (-26.32%)
Mutual labels:  coroutines, glide, retrofit2, mvvm-architecture, navigation-component
DailyBugle
📰Modern MVVM Android application following single activity architecture which fetches news from 🕷️ news API. this repository contains some best practices ⚡ of android development
Stars: ✭ 17 (-55.26%)
Mutual labels:  glide, retrofit2, mvvm-architecture, room-database, navigation-component
Github-Trending-Repos
An Android App that lists the most trending repositories from Github.
Stars: ✭ 57 (+50%)
Mutual labels:  repository-pattern, mvvm-architecture, databinding, dagger2-android, dagger2-mvvm
Kriptofolio
Free open source minimalistic cryptocurrencies portfolio app for Android.
Stars: ✭ 79 (+107.89%)
Mutual labels:  glide, mvvm-architecture, room-database, navigation-component
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes 🗒️ create , edit and ❌ delete notes
Stars: ✭ 40 (+5.26%)
Mutual labels:  coroutines, repository-pattern, mvvm-architecture, navigation-component
WanAndroid
一个简洁漂亮与众不同的WanAndroid客户端,欢迎下载体验(〃'▽'〃)。(A simple and beautiful Wanandroid client App.) MVVM + Dagger2 + DataBinding + Lifecycle + OkHttp + Retrofit2
Stars: ✭ 81 (+113.16%)
Mutual labels:  retrofit2, databinding, dagger2-android, dagger2-mvvm
Marvelheroes
❤️ A sample Marvel heroes application based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin) architecture.
Stars: ✭ 826 (+2073.68%)
Mutual labels:  coroutines, retrofit2, mvvm-architecture, databinding
Foodium
It simply loads Posts data from API and stores it in persistence storage (i.e. SQLite Database). Posts will be always loaded from local database. Remote data (from API) and Local data is always synchronized.
Stars: ✭ 1,940 (+5005.26%)
Mutual labels:  coroutines, retrofit2, dagger2-android, livedata-viewmodel
AndroidCleanArchitecture
Android Project with clean android architecture contain Dagger, Retrofit, Retrofit, Android archtecture components, LiveData with MVVM architecture
Stars: ✭ 22 (-42.11%)
Mutual labels:  retrofit2, mvvm-architecture, dagger2-android, dagger2-mvvm
WanAndroidJetpack
🔥 WanAndroid 客户端,Kotlin + MVVM + Jetpack + Retrofit + Glide。基于 MVVM 架构,用 Jetpack 实现,网络采用 Kotlin 的协程和 Retrofit 配合使用!精美的 UI,便捷突出的功能实现,欢迎下载体验!
Stars: ✭ 124 (+226.32%)
Mutual labels:  coroutines, glide, mvvm-architecture, databinding
BakingApp
🍛🍴 This app allows a user to select a recipe and see video-guided steps for how to complete it, showcasing MVVM, Retrofit, ExoPlayer with lifecycle components, Master/Detail Flow, Widgets.
Stars: ✭ 18 (-52.63%)
Mutual labels:  glide, retrofit2, mvvm-architecture, databinding
MVVMQuick
🚀使用MVVMQuick快速构建您的MVVM结构项目!(Quickly start projects with MVVMQuick!)
Stars: ✭ 23 (-39.47%)
Mutual labels:  mvvm-architecture, databinding, dagger2-android, dagger2-mvvm
catchflicks
🎬 Kitchen sink project for learning android concepts 🎬
Stars: ✭ 12 (-68.42%)
Mutual labels:  glide, retrofit2, mvvm-architecture, databinding
mvp-android-template
MVP Android Template to give you a Quick Head Start for your next Android Project. It implements MVP Architecture using Dagger2, Room, RxJava2 , Retrofit2
Stars: ✭ 20 (-47.37%)
Mutual labels:  retrofit2, repository-pattern, dagger2-android, room-database
Kotlin Mvvm Architecture
Android Architecture Design Patterns using Kotlin, MVVM, Dagger2, LiveData, Room, MediatorLiveData, NetworkBoundResources, Retrofit, AndroidX, ViewModels, Dependency Injection using Dagger2, Repository pattern.
Stars: ✭ 126 (+231.58%)
Mutual labels:  retrofit2, repository-pattern, mvvm-architecture, dagger2-android
Android Kotlin Mvi Cleanarchitecture
Android + Kotlin + Modularization + Gradle Depedency managment + Gradle written in Kotlin DSL + Custom Gradle Plugin + MVVM + MVI + Clean Architecture + Repository Pattern + Coroutines + Flows + Koin + Retrofit2 + ROOM + Kotlin-Android-Extension + KtLints
Stars: ✭ 187 (+392.11%)
Mutual labels:  coroutines, retrofit2, repository-pattern, mvvm-architecture
MoviesApp
A Movie Application uses TheMovie API, MVVM architecture and all jetpack components.
Stars: ✭ 100 (+163.16%)
Mutual labels:  repository-pattern, mvvm-architecture, dagger2-mvvm, livedata-viewmodel

NYTimesMostPopularArticles

A simple app to hit the NY Times Most Popular Articles API and show a list of articles, that shows details when items on the list are tapped (a typical master/detail app), also user able to browse/ add articles to favorite list that implements MVVM architecture using Dagger2, Retrofit, Coroutines, LiveData, RoomDatabase, Database Debugging, DataBinding and Navigation Component.



The app has following packages:

  1. data: It contains all the data accessing and manipulating components.
  2. di: Dependency providing classes using Dagger2.
  3. domain: It contains dto classes and repositories.
  4. presentation: View classes along with their corresponding Presenters.
  5. utils: Utility classes.

Classes have been designed in such a way that it could be inherited and maximize the code reuse.


Navigation Component Graph


Guide to app architecture


Library reference resources:

  1. Coroutines: https://codelabs.developers.google.com/codelabs/kotlin-coroutines/
  2. Dagger2: https://github.com/MindorksOpenSource/android-dagger2-example
  3. Retrofit: https://square.github.io/retrofit/
  4. Room: https://developer.android.com/topic/libraries/architecture/room.html
  5. AndroidDebugDatabase: https://github.com/amitshekhariitbhu/Android-Debug-Database
  6. DataBinding: https://developer.android.com/topic/libraries/data-binding
  7. Navigation Component: https://developer.android.com/guide/navigation/navigation-getting-started

Java version: https://github.com/AmrAbdelhameed/NYTimesMostPopularArticles-JavaVersion

License

   Copyright (C) 2019 Amr Abdelhameed

   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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].