-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8a29896
commit e90863f
Showing
1 changed file
with
62 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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] | ||
|