Skip to content

TanotiCoder/QHeal

Repository files navigation

QHeal

QHeal is a modern mobile app built using Android development technologies that aims to motivate and inspire people with inspiring quotes. It has a range of features that make it an excellent tool for anyone looking for inspiration and motivation. These features include:

  • Favorite quotes: Users can save their favorite quotes in the app so they can access them easily and quickly whenever they need a boost of inspiration.
  • Random quotes: The app displays a random quote each time it is launched, providing users with a new source of inspiration every time they use the app.
  • Search: Users can search for specific quotes by keyword or author, making it easy to find quotes that are relevant to their interests or mood.

Note:

  • Still working on "Quote sharing" feature, which allows users to easily share quotes they find inspiring with their friends and family via social media, messaging apps, or email.

Screenshot


Tech Stack

The app is built using a range of modern Android development technologies, including:

  • List of Rest API
    • Quote API - Get Quotes Data and it is main api.
    • wikipedia - This api give us detail of author.
    • Picsum- To get Random Image for every time.
  • MVVM Architecture - A software architecture that removes the tight coupling between components. Most importantly, in this architecture, the children don't have the direct reference to the parent, they only have the reference by observables.
  • Hilt - Hilt provides a standard way to incorporate Dagger dependency injection into an Android application.
  • Jetpack Components
    • Jetpack Compose- Modern toolkit for building native UI.
    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
    • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
    • Preferences Datastore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
    • ViewModel - Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
  • Compose Destinations - A KSP library that processes annotations and generates code that uses Official Jetpack Compose Navigation under the hood.
  • Landscapist - CoilImage Loader - Landscapist is a Jetpack Compose image loading library which fetches and displays network images with Glide, Coil, and Fresco.
  • Compose Pagination - The Paging Library makes it easier for you to load data gradually and gracefully within your app.
  • Retrofit - Type-safe http client and supports coroutines out of the box.
  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.
  • OkHttp Logging Interceptor - Logs HTTP request and response data.
  • Coroutines - Library Support for coroutines.
  • Flows - Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.