Skip to content

fsanto-dev/RecipeSearchApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RecipeSearchApp

Introduction

Welcome to the documentation for Recipe Search App, an iOS app built to explore recipes. This document provides an overview of the app's architecture, features, installation process, usage guidelines, and testing.

Table of Contents

  1. Introduction
  2. Requirements
  3. Features
  4. Architecture
  5. Testing
  6. Modules
  7. Author
  8. Installation

1. Introduction

Recipe Search App is a Swift-based iOS app designed to fetch and display recipes from Edamam. Users can interact with the app to search recipes, view ingredients, and manage their favorites.

2. Requirements

To ensure the successful execution and adherence to the design principles, the app adheres to the following requirements:

  • Code-based UI Development: UI and layout development strictly adhere to a code-based approach, eliminating the use of Storyboards or Xibs. This choice emphasizes maintainability and reduces the complexity of the UI development process.

  • MVVM Architecture: The app architecture is structured following the Model-View-ViewModel (MVVM) pattern.

3. Features

3.1 Chef Suggestion Recipes

Upon launching the app, users can view some meal suggestions.

3.2 Search

The app provides a search functionality, enabling users to search for recipes.

3.3 Favorites

Users can add the favorite recipe to their favorites and check whether a recipe is part of their favorites.

4. Architecture

The app is designed with the MVVM (Model-View-ViewModel) architecture, a widely adopted architectural pattern in iOS development. This choice ensures a clear separation of concerns and facilitates maintainability. The project is structured into distinct modules, fostering organization and clarity within the codebase. This architectural approach aims to enhance scalability and readability throughout the development lifecycle.

5. Testing

Unit Testing

Our UI tests are situated on the app side, while the unit tests are located in the following modules:

  • ViewModels: The ViewModels module contains unit tests for the view models, ensuring that business logic and data transformations are functioning as expected.

  • Services: The Services module includes unit tests for various services, such as API communication and data fetching, guaranteeing the reliability of these components.

  • DataStore: The DataStore module is covered by unit tests to validate the correctness of data storage and retrieval operations.

  • Coordinators: The Coordinators module is tested to confirm that navigation and coordination between different parts of the app work as intended.

  • Coordinators: The Coordinators module is tested to confirm that navigation and coordination between different parts of the app work as intended.

6. Modules

For info about the Modules, see README.md.

7. Author

8. Installation

To set up and run the Recipe Search App iOS app on your local environment, follow these steps:

  1. Clone this repo: Clone or download this repo to your computer.
git clone https://github.com/fsanto-dev/RecipeSearchApp.git
  1. Open in Xcode: Open the RecipeSearchApp/RecipeSearchApp.xcworkspace workspace file in Xcode.

  2. Build the app: Once all the above steps are complete, you are ready to build and deploy the iOS app in Xcode.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages