Skip to content

Stack-Lite is an Android application that utilizes the Stack Exchange- API to search and display relevant questions with the added functionality of tag filtering and in app Chrome Custom tab integration for quick access to question details

Notifications You must be signed in to change notification settings

UKnow-IKnow/stack-lite

Repository files navigation

Stack Lite

Android Kotlin

Features:

  • Shows a list of questions from stack exchange Api
  • Can search for the desires question.
  • Can add tags to your search.
  • Can open the question on Chrome Custom tab.

📷 ScreenShots

Tech Stack used 👨‍💻 :

  • MVVM - MVVM is one of the architectural patterns which enhances separation of concerns, it allows separating the user interface logic from the business (or the back-end) logic. Its target (with other MVC patterns goal) is to achieve the following principle “Keeping UI code simple and free of app logic in order to make it easier to manage”.
  • Kotlin - First class and official programming language for Android development. Our app is totally written in kotlin.
  • Different Layouts - In this app we have used difrenet layouts to make the app UI responsive. The used layouts are LinearLayout, ConstraintLayout and FrameLayout .
  • Coroutines - For asynchronous and more. Speacially used at the time of networking calls and using database .
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
  • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Data Binding - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically. Used two data binding in each fragments.
    • Navigation - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app. In our app we followed single app architecture using navigation and also implemented an unique nav nav drawer.
    • LiveData - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • RecyclerView - RecyclerView makes it easy to efficiently display large sets of data. To show large lists.
  • Glide - Glide is a fast and efficient open-source media management and image loading framework for Android developed by bumptech. In this tutorial, we will use this awesome library to show an image from the internet on our apps screen.
  • Shimmer - Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app, It is useful as an unobtrusive loading indicator, and was originally developed for Facebook Home.
  • Chrome Custom Tabs - Custom Tabs is a browser feature, introduced by Chrome, that is now supported by most major browsers on Android. It give apps more control over their web experience, and make transitions between native and web content more seamless without having to resort to a WebView.

API used:

Stack Exchange API

About

Stack-Lite is an Android application that utilizes the Stack Exchange- API to search and display relevant questions with the added functionality of tag filtering and in app Chrome Custom tab integration for quick access to question details

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages