divyanshuk10 / Find-Your-Interest

Find an Interest is a modern Android application which fetches a random interest for user and allows user to mark it as a favourites demonstrating the implementation of various modern Android development practices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Find an Interest

Description

Find an Interest is a modern Android application which fetches a random interest for user and allows user to mark it as a favourites demonstrating the implementation of various modern Android development practices. It incorporates MVVM architecture, Coroutine for asynchronous programming, Hilt for dependency injection, Coil for image loading, RecyclerView with Adapter for efficient UI display, Retrofit for network communication, Logging interceptor, Room database to perform CRUD operations in app's local DB, and the Repository pattern for data management. The entire project is written in Kotlin, taking advantage of its concise syntax and powerful features.

Libraries Used

This app utilizes the following libraries:

  1. AndroidX Core KTX: version 1.12.0
  2. AndroidX AppCompat: version 1.6.1
  3. Material Components for Android: version 1.11.0
  4. ConstraintLayout: version 2.1.4
  5. Navigation Components: version 2.7.7
  6. SwipeRefreshLayout: version 1.2.0-alpha01
  7. Retrofit: version 2.9.0
  8. GSON: version 2.10.1
  9. Coroutines: version 1.7.3
  10. Lifecycle Components: version 2.7.0
  11. Room Database: version 2.6.1
  12. Dagger-Hilt: version 2.50
  13. Coil: version 2.5.0

Features

  • MVVM Architecture: The app follows the Model-View-ViewModel architectural pattern for a clean separation of concerns and easier unit testing.
  • Coroutine: Utilizes Kotlin Coroutines for managing asynchronous operations in a concise and efficient way, improving app responsiveness.
  • Hilt for Dependency Injection: Uses Hilt, a dependency injection library for Android, to facilitate dependency injection and improve app maintainability and testability.
  • Coil for Image Loading: Integrates Coil, an image loading library, for efficient and easy loading of images from URLs.
  • RecyclerView with Adapter: Implements RecyclerView along with Adapter pattern for efficient UI display of large data sets.
  • Retrofit for Network Communication: Utilizes Retrofit, a type-safe HTTP client for Android and Java, for network communication with APIs.
  • Logging Interceptor: Integrates OkHttp's logging interceptor for easy debugging of network calls.
  • Room Database: Implements Room, a SQLite object mapping library, for local data persistence.
  • Repository Pattern: Adopts the Repository pattern to abstract the data layer and provide a clean API for data access, promoting code reusability and separation of concerns.

Installation

To install and run the app, follow these steps:

  1. Clone the repository: git clone https://github.com/divyanshuk10/Find-Your-Interest
  2. Open the project in Android Studio.
  3. Build and run the app on an emulator or a physical device.

Screenshots

Image Description Image Description Image Description Image Description Image Description Image Description

Contributions

Contributions to this project are welcome.

License

Open source

Contact

For any inquiries or support, please contact divyanshuk10@gmail.com

About

Find an Interest is a modern Android application which fetches a random interest for user and allows user to mark it as a favourites demonstrating the implementation of various modern Android development practices.


Languages

Language:Kotlin 100.0%