Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
divyanshuk10 authored Mar 8, 2024
1 parent 8a29896 commit e90863f
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# 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
12. **Room Database:** version 2.6.1
13. **Dagger-Hilt:** version 2.50
14. **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
<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/2c8c4208-a5bc-4579-83d5-954e9b99bf76" alt="Image Description" style="width: 250px;">

<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/db09d52e-54f5-4d16-9fa5-78b20e3b594e" alt="Image Description" style="width: 250px;">

<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/1a356313-085e-43c8-80cf-6f9bbbae8fec" alt="Image Description" style="width: 250px;">

<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/df2063f0-05e4-4531-ab23-62215255bb26" alt="Image Description" style="width: 250px;">

<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/4371bbce-505b-429b-8483-4c13d634453b" alt="Image Description" style="width: 250px;">

<img src="https://github.com/divyanshuk10/Find-Your-Interest/assets/19980597/6415fcb1-f4be-4152-b66f-d1f92281f8bc" alt="Image Description" style="width: 250px;">

## Contributions
Contributions to this project are welcome.

## License
Open source

## Contact
For any inquiries or support, please contact [email protected]

0 comments on commit e90863f

Please sign in to comment.