- It is a StaggeredGridView image searcher using the Unsplash API.
This project combines the MVVM and Clean Architecture principles to ensure scalability, maintainability, and testability. Here’s a brief overview of the architecture and how each module is implemented:
- Model - Handles the data logic and business rules.
- View - Responsible for rendering the UI and receiving user interactions, primarily composed of Compose views.
- ViewModel - Acts as a bridge between the Model and the View, managing UI-related data.
- Data Module: Contains everything related to data handling, such as network communication, API calls, response models, and dependency injection setup.
- Domain Module: Encapsulates business logic and business models, serving as an intermediary between the Data and Feature modules.
- Feature Module: Comprises the UI components using Jetpack Compose and ViewModels, organizing them according to features.
- App Module: Houses the application’s main components such as Activities and Fragments.
Each layer is designed to be independent and interchangeable, promoting a separation of concerns that facilitates easier testing and maintenance.
Open Android Studio and open the downloaded project folder.
This project utilizes the Unsplash API, which requires an access key. Obtain an access key by registering at Unsplash Developers. Open the local.properties file in your project and add your Unsplash API access key:
Copy code
unsplashApiAccessKey=YOUR_UNSPLASH_ACCESS_KEY
Replace YOUR_UNSPLASH_ACCESS_KEY with the actual key you obtained.
In Android Studio, select Build -> Rebuild Project to build the project. Choose Run -> Run 'app' to run the app. By following these instructions, you should be able to set up and run the project in your local development environment.
- Android Studio [Iguana | 2023.2.1]
- Minimum SDK version [24]
- Target SDK version [34]
git clone https://github.com/ok0035/FreeImageSearcher.git
cd FreeImageSearcher