Skip to content

Recipes app with Google Login, CoreData Storage and SwiftUI

License

Notifications You must be signed in to change notification settings

adpaladines/Recipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Swift Version SwiftUI

Recipes Project

This is an iOS app to look for a recipe of our like! The app is written in Swift and uses MVVM architecture.

Name:

Flavor Planet

Project Description:

In this app you will be able to look for meals from a big list from API themealdb.com.

This application was inspired on Behance.net recipe-app-ui UX design.

Table of Contents:

In the structure files contains:

  • Model
  • View
  • ViewModel
  • Network
  • Coordinator
  • Tests part:
    • NetworkAPITests
    • ViewModelTests with MockJSON files and its data.

Installation

Can be used with Xcode 14.3 and above. Compatible with iPhone and iPad with minimum iOS version 16.0.

Frameworks used:

Architecture:

  • Architecture: MVVM-C -> Model View ViewModel Coordinator (Coordinator Pattern).

Design Patterns

  • Observer
  • Singleton
  • Builder
  • Publisher-Subscriber
  • Async await

Offline Storage

  • CoreData
  • UserDefaults & @AppStorage
  • Custom UserDefaults methods to Store Array<String>

Security (optional)

  1. Jailbroken Detection
  2. Development techniques or best practices

Functionalities:

  • Gmail login.
  • Select preffered three categories (first run) @AppStore (userDefaults).
  • Full list of recipes from selected categories.
  • Favorites (in CoreData).
  • Recipes Details with images and or YouTube videos.
  • Profile Screen UIKit (optional).

Test Cases:

  • TDD: Units tests for success and failure situations. Faked responses using FakeNetworkManager using test jsons. Written test cases for view model testing

Screen Record:

Flavor.Planet.mp4

Screenshots:

Login Module Screen 1 Screen 2
Login image
Login with email image image
Register with email image image
Login GMail image image
Meals Module Screen 1 Screen 2 Screen 3
Main List Screen image image
Mail List Screen Options image image image
Favorites List Screen image
Details Screen image image image

About

Recipes app with Google Login, CoreData Storage and SwiftUI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages