Recipe App is an iOS application that allows users to browse, search, and bookmark their favorite recipes. This project was developed as part of a tutorial series to demonstrate modern iOS development practices, including MVVM-C architecture, Clean Architecture principles, and the use of popular third-party libraries.


The app is built using a combination of MVVM-C (Model-View-ViewModel-Coordinator) and Clean Architecture principles:
- MVVM-C: Separates the presentation logic into View Models and uses Coordinators for navigation.
- Clean Architecture: Divides the app into layers (Presentation, Domain, and Data) for better separation of concerns.
- Presentation Layer: Contains the UI components (Views), ViewModels, and Coordinators.
- Domain Layer: Contains the business logic, including entities and use cases (if applicable).
- Data Layer: Manages data operations, including networking and local storage.
- Unit Tests with XCTest
- Programmatic UI
- Networking Layer
- Localization support
- Swift 5.5+
- UIKit
- SDWebImage: For efficient image loading and caching
- SnapKit: For programmatic Auto Layout
- Swift Package Manager (SPM): For dependency management
- Xcode 13.0+
- iOS 15.0+
- Clone the repository:
git clone https://github.com/yourusername/recipe-app.git
- Open
RecipeApp.xcodeproj
in Xcode. - Build and run the project on your simulator or device.

The app follows iOS Human Interface Guidelines and includes the following main screens:
- Home Screen: Displays a list of recipes and includes a search bar.
- Recipe Detail Screen: Shows detailed information about a selected recipe.
- Bookmarks Screen: Lists all bookmarked recipes.
Navigation is handled through a tab bar interface, allowing easy access to the Home and Bookmarks screens.
This project is licensed under the MIT License - see the LICENSE.md file for details.