Skip to content

Meal Recipes app. Developed using VIPER architecture to practice

License

Notifications You must be signed in to change notification settings

lochmidth/RecipeRoamer

Repository files navigation

RecipeRoamer App Icon

Recipe Roamer

Welcome to Recipe Roamer! Discover a world of flavors with our iOS app. From comforting classics to exotic delights, find recipes from around the globe.

Table of Contents

Tech Stack

  • Xcode: Version 15.2
  • Language: Swift 5.9
  • Minimum iOS Version: 17.2
  • Dependency Manager: SPM

Architecture

Architecture

In developing Recipe Roamer, I used the VIPER (View-Interactor-Presenter-Entity-Router) architecture for these key reasons:

  • I wanted to practice VIPER :)
  • Clear Separation: VIPER architecture separates UI, business logic, and navigation for cleaner, more maintainable code.
  • Test-Driven Development: VIPER's modular structure enables comprehensive unit testing, ensuring app stability.
  • Scalability: VIPER's modular design allows easy addition of features and modifications.

Unit Tests

85 % Unit test covarage

  • BreadList: View, Presenter, Interactor are tested.
  • BreadRecipe: View, Presenter, Interactor are tested.
  • API: MealService is tested.

Getting Started

Prerequisites

Before you begin, ensure you have the following:

  • Xcode installed

Also, make sure that these dependencies are added in your project's target:

  • Moya: Network abstraction layer written in Swift.
  • Kingfisher: Powerful and pure Swift library for downloading and caching images.
  • JGProgressHUD: A versatile and customizable progress HUD to provide users with feedback during asynchronous tasks.

Installation

  1. Clone the repository:

    git clone https://github.com/lochmidth/RecipeRoamer.git
  2. Open the project in Xcode:

    cd RecipeRoamer
    open RecipeRoamer.xcodeproj
  3. Add required dependencies using Swift Package Manager:

    - Moya
    - Kingfisher
    - JGProgressHUD
  4. Build and run the project.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropiate.

License

This project is licensed under the MIT License.

About

Meal Recipes app. Developed using VIPER architecture to practice

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages