A Clean Architecture approach is used to build a recipe app where users can explore and save delicious recipes.
Splash Screen | Home Screen | Filter Screen |
---|---|---|
Detail Screen | Detail Screen | Detail Screen |
---|---|---|
Favorites Screen | Grocery Screen | Settings Screen |
---|---|---|
Splash Screen | Home Screen | Filter Screen |
---|---|---|
Detail Screen | Detail Screen | Detail Screen |
---|---|---|
Favorites Screen | Grocery Screen | Settings Screen |
---|---|---|
- Minimum SDK Level: 24
- 100% Kotlin Based: Leveraging the power of Kotlin with Coroutines and Flow for asynchronous programming.
- Single-Activity Architecture
- Lifecycle: Reacting to lifecycle state changes for optimized app behavior.
- ViewModel: Storing UI-related data persistently across UI changes.
- UseCases: Implementing domain-layer logic situated between the UI and data layers.
- Repository: Hosting application data and business logic in the data layer.
- Android Hilt: A robust dependency injection library for seamless component management.
- Retrofit: A type-safe HTTP client for Android and Java.
- Gson: A library for JSON serialization/deserialization.
- OkHttp: An efficient HTTP client for network requests.
- Interceptor: Managing and manipulating network requests.
- Room Database: Room for local data storage.
- DataStore: DataStore for storing key-value pairs.
- Jsoup: Jsoup for HTML parsing.
- Glide: Glide for efficient image loading.
- ViewPager2: ViewPager2 for handling swipe gestures and transitions between screens.
- SwipeRefreshLayout: SwipeRefreshLayout for adding the ability to refresh content via swipe gestures.
- Flex Box: Flexbox for a powerful layout manager.
- Navigation: Navigation Component: Android's navigation component for handling navigation between destinations in your app.
This app uses MVVM (Model View View-Model) architecture
- You will need to provide a private key to retrieve data from the Spoonacular API.
Add your API key to the local.properties
file in your project:
API_KEY = YOUR_API_KEY