All Projects → ErickSumargo → Dads

ErickSumargo / Dads

Licence: MIT license
*BA DUM TSSS*

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Dads

bitcoin-market-android
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰
Stars: ✭ 284 (+18.33%)
Mutual labels:  clean-architecture, jetpack, lottie
kmm
Rick & Morty Kotlin Multiplatform Mobile: Ktor, Sqldelight, Koin, Flow, MVI, SwiftUI, Compose
Stars: ✭ 52 (-78.33%)
Mutual labels:  clean-architecture, sqldelight, kotlin-multiplatform
StarWarsSearch-MVI
Star wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow
Stars: ✭ 189 (-21.25%)
Mutual labels:  clean-architecture, jetpack, kotlin-gradle-dsl
raffler-kotlin
A raffling app developed as a playground to study many topics related to Android. Kotlin + Coroutines + MVVM
Stars: ✭ 44 (-81.67%)
Mutual labels:  clean-architecture, jetpack, androidx
modern-android
Modern Android Project Skeleton
Stars: ✭ 17 (-92.92%)
Mutual labels:  clean-architecture, jetpack, androidx
Jetpack Mvvm Best Practice
是 难得一见 的 Jetpack MVVM 最佳实践!在 以简驭繁 的代码中,对 视图控制器 乃至 标准化开发模式 形成正确、深入的理解!
Stars: ✭ 6,950 (+2795.83%)
Mutual labels:  jetpack, androidx
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (-79.58%)
Mutual labels:  clean-architecture, lottie
store-apps-mvvm
Implementation component of Android Jetpack with clean architecture
Stars: ✭ 32 (-86.67%)
Mutual labels:  clean-architecture, jetpack
Android Showcase
💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis...
Stars: ✭ 5,214 (+2072.5%)
Mutual labels:  clean-architecture, jetpack
RocketXDelight-Playground
Native Android application built with Kotlin and Jetpack Compose. This project also illustrates the usage of advanced libraries such as Ktor, SqlDelight, Hilt, etc with the recommended practices and Unit Tests.
Stars: ✭ 37 (-84.58%)
Mutual labels:  jetpack, sqldelight
Compose-BreakingBad
🧪 ☠︎ Jetpack Compose - Breaking Bad ☢︎
Stars: ✭ 26 (-89.17%)
Mutual labels:  clean-architecture, jetpack
Android Modular Architecture
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
Stars: ✭ 2,048 (+753.33%)
Mutual labels:  clean-architecture, jetpack
WorkManagerNotification
This example shows how to set notification for a specific date and time with WorkManager
Stars: ✭ 91 (-62.08%)
Mutual labels:  jetpack, androidx
nice-animals
Simple android app that shows nice animals pictures
Stars: ✭ 15 (-93.75%)
Mutual labels:  jetpack, androidx
Scout
Scout is a kotlin multiplatform application that allows users to search and save games to lists to be browsed later.
Stars: ✭ 28 (-88.33%)
Mutual labels:  jetpack, kotlin-multiplatform
WanAndroidJetpack
🔥 WanAndroid 客户端,Kotlin + MVVM + Jetpack + Retrofit + Glide。基于 MVVM 架构,用 Jetpack 实现,网络采用 Kotlin 的协程和 Retrofit 配合使用!精美的 UI,便捷突出的功能实现,欢迎下载体验!
Stars: ✭ 124 (-48.33%)
Mutual labels:  jetpack, androidx
Lastik
Kotlin Multiplatform + Jetpack Compose pet project, based on www.last.fm/api (in development)
Stars: ✭ 37 (-84.58%)
Mutual labels:  sqldelight, kotlin-multiplatform
Sqldelight
SQLDelight - Generates typesafe Kotlin APIs from SQL
Stars: ✭ 4,333 (+1705.42%)
Mutual labels:  sqldelight, kotlin-multiplatform
D-KMP-sample
D-KMP Architecture official sample: it uses a shared KMP ViewModel and Navigation for Compose and SwiftUI apps.
Stars: ✭ 636 (+165%)
Mutual labels:  sqldelight, kotlin-multiplatform
Awesome-Android-Open-Source-Projects
👓 A curated list of awesome android projects by open-source contributors.
Stars: ✭ 401 (+67.08%)
Mutual labels:  clean-architecture, jetpack

CI codecov Fossa Status Android Weekly Google Developer Library

Just an app with lame dad jokes content to fill up your day.

MVP

This MVP version features:

  • Feed walks you through the latest dad jokes,
  • Browse back seen jokes & share your favorite ones,
  • Notification to remind you up with latest available jokes,
  • Light/ Dark theme based on preference.

Stacks

Foundation

UI

Internal

  • LiveListAdapter
    ListAdapter w/ every visible cell (ViewHolder) is reactive. Cell acts like observer of data they hold, so it will auto-refresh if their related data is updated.
  • RenderExecutor Processor
    Processor for RenderWith annotation. Diff-state engine generator for rendering view component.

Remote

Testing

  • Espresso - Android UI tests.
  • Hilt Testing - For swapping production dependencies with test doubles.
  • Truth - Assertion framework in tests by Google.

Health

  • Firebase Crashlytics - Collecting crash report for production environment.
  • LeakCanary (Debug) - Memory leak detector.
  • StrictMode (Debug) - Tool for checking if any should-be-background operation is done on main thread.

MAD Scorecard




Supports

Dads is ready to support multiplatform with the Clean Architecture concept for project structure (data-domain-presentation).

JVM, JS, or Native, He is just waiting your implementation of presentation part!

Architecture

Dads adopts MVVM with Unidirectional flow (UDF) pattern.

Moreover, view components are rendered based on their related changed states only performed by diff-state engine, so the render operation is done more efficiently.

Design Principles

Testing Principles

  • Black-box/ behavior-driven testing with UI as the sole SUT (very recommended read and talk).
  • No mocking framework! Only fake type as test double, if required.

GraphQL Engine

Jokes are requested from proprietary GraphQL service, the Dads-Engine. Check it out 🔥

How to run

  • Since this project employs GraphQL stack, you need to download the schema first:
    • Go to hosted GraphQL Playground,
    • Open tab SCHEMA at the right side. DOWNLOAD it,
    • Put the schema.json in directory: data/remote/src/commonMain/graphql/com/bael/dads/data/remote/,
    • Or you can run this command as alternative.
      ./gradlew downloadApolloSchema --endpoint="https://dads-engine.herokuapp.com" --schema="data/remote/src/commonMain/graphql/com/bael/dads/data/remote/schema.json"
      
  • Set JWT key in keys.properties file (located in project root folder):
JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHAiOiJEYWRzISIsInR5cGUiOiJVc2VyIn0.46oGvluHExsPIOS9d925RNYrk_Y9eke0Zm45ZbqjaXs
  • Have fun!

Caveat

After went through How to run section but you still get a "Service issue" state, hit TRY AGAIN? a couple of times until success. That's because I host data to the server with basic free plan - potato spec, well, it's just for research purpose anyway 😂.

Contributing

Let's get in touch if you're interested in contributing. Explain what's the issue, submit your PR via Fork.
Also feel free to request features, or any kind of your support (join stargazers ️ | treat me coffee 😁).

Those wonder what's next, check out my planned Roadmap by GitHub project board.

Licenses

FOSSA Status

Supporter

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].