Skip to content

app-coaching/ios-recipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Recipe App

Overview

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.

Architecture

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.

Layers

  1. Presentation Layer: Contains the UI components (Views), ViewModels, and Coordinators.
  2. Domain Layer: Contains the business logic, including entities and use cases (if applicable).
  3. Data Layer: Manages data operations, including networking and local storage.

Additional features

  • Unit Tests with XCTest
  • Programmatic UI
  • Networking Layer
  • Localization support

Technologies

  • Swift 5.5+
  • UIKit
  • SDWebImage: For efficient image loading and caching
  • SnapKit: For programmatic Auto Layout
  • Swift Package Manager (SPM): For dependency management

Getting Started

Prerequisites

  • Xcode 13.0+
  • iOS 15.0+

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/recipe-app.git
  1. Open RecipeApp.xcodeproj in Xcode.
  2. Build and run the project on your simulator or device.

Project Structure

Screenshot 2024-09-11 at 15 42 12

UI/UX

The app follows iOS Human Interface Guidelines and includes the following main screens:

  1. Home Screen: Displays a list of recipes and includes a search bar.
  2. Recipe Detail Screen: Shows detailed information about a selected recipe.
  3. Bookmarks Screen: Lists all bookmarked recipes.

Navigation is handled through a tab bar interface, allowing easy access to the Home and Bookmarks screens.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

iOS (MVVM-C, Clean Architecture)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages