Skip to content

Github User App with Single Activity Architecture - Jetpack Navigation Component

License

Notifications You must be signed in to change notification settings

im-o/android-dynamic-feature-ondemand

Repository files navigation

Sample App Github User with Use Case Design Pattern 🚀

An Android app built with Kotlin, using the awesome Use Case design pattern 🤘. It consumes Github User API.

Cool Tech Stack!

  • Kotlin - The futuristic programming language that can run on JVM! It's the officially supported programming language for Android Studio and the community is moving rapidly from Java to Kotlin.
  • Android KTX - Concise and idiomatic Kotlin library to Jetpack and Android platform APIs. It's like magic!
  • AndroidX - The supercharged version of Android Support Library that's way better!
  • Lifecycle - With great power comes great responsibility. It's designed to perform actions based on lifecycle changes of components like activities and fragments.
  • Viewmodel -The ViewModel class is like a superhero that stores and manages UI-related data in a lifecycle conscious way!
  • RxJava - A powerful library for composing asynchronous and event-based programs using observable sequences. It provides a rich set of operators and supports concurrency, making it a valuable tool for simplifying async code execution on Android. With RxJava, you can handle complex asynchronous operations and maintain a reactive programming paradigm, making it a secret weapon for Android developers.
  • Retrofit - The superhero REST Client for Java and Android by Square inc under Apache 2.0 license. It's a simple network library used for network transactions and capturing JSON response from web services.
  • GSON - The superhero JSON Parser that understands Kotlin non-nullable and default parameters. It's like a genius!
  • Hilt - A dependency injection library for Android that reduces the boilerplate of manual dependency injection. It's like a magic wand!
  • Navigation Components - The superhero that helps you implement navigation from simple button clicks to more complex patterns. It's like a GPS for your app!
  • Logging Interceptor - The superhero interceptor that logs HTTP request and response data. It's like a CCTV for network transactions!
  • GitHub Actions - GitHub Actions are like loyal minions that automate all your software workflows. Build, test, and deploy your code right from GitHub! It's like having your own army of robots!
  • Mockito Kotlin 👨‍🔬 - Feeling tired of writing boring and tedious unit tests? Fear not, for Mockito Kotlin is here to save the day! This powerful library allows you to mock objects and functions in a breeze, so you can focus on writing awesome code that blows everyone's minds.
  • OkHttp3 🌐 - Looking for a reliable and efficient HTTP client for your app? Look no further than OkHttp3! This battle-tested library is used by some of the largest apps out there, and for good reason: it's fast, reliable, and easy to use.
  • Glide - The superhero that assists you in effortlessly loading and displaying images in your Android applications. With its powerful features and seamless integration, Glide simplifies the process of handling image loading, caching, and transformation, ensuring smooth and efficient performance. Whether you're working with local resources, remote URLs, or even animated GIFs, Glide has got you covered. Experience the convenience and versatility of Glide for all your image loading needs.

Demo!

Check out this cool GIF of the app in action! 🎬

Image success installing dynamic feature

Setup Requirements

  • An Android device or emulator 📱
  • Android Studio 💻

Getting Started

Ready to try it out yourself? Here's what to do:

  1. Clone this project 🐑
  2. Import the project into Android Studio 🚀
  3. Connect your Android device via USB or start your emulator 🌐
  4. Once the project has finished setting up, click the "run" button 🏃‍♂️

Support

  • Did you find this project useful? Show some love by clicking the ⭐️ button in the upper right corner! ❤️
  • Notice anything else missing? File an issue 🚨
  • Want to contribute? Whether it's fixing typos in docs or reviewing code, we welcome all contributions! 🤝

About

Github User App with Single Activity Architecture - Jetpack Navigation Component

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages