Recipe app for iOS for an interview at Minut

MinutTask

Recipe app for iOS for an interview at Minut.

Building

Project should run on a Mac as an Xcode project after following these instructions:

Step 1: Update MacOS and Xcode

Ensure you have the latest MacOS and Xcode versions installed.

At the time of writing, project was successfully built with:

MacOS Big Sur Version 11.6

Xcode Version 13.0 (13A233)

Step 2: Installing SwiftLint (optional)

This step can be skipped in its entirety, but is recommended for further development.

SwiftLint is a linter, according to wikipedia:

“a tool that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs.”

I use SwiftLint in order to enforce a good codebase standard.

For a simple global install of SwiftLint for the purposes of this project, follow the instructions below. If you instead want a more custom installation, follow the instructions in the GitHub repo.

  1. Install SwiftLint by downloading SwiftLint.pkg from the latest GitHub release and running it.
  2. The project should already be set up to use SwiftLint, and not require you do to anything more. For reference this is how.

Step 3: Run the server backend

Install and run the backend.

For quick reference, simply clone the project and use the commands:

npm install
npm start

By default, the server will run and the app will listen at localhost:3000.

You can change settings like these for both the client and the server:

Client Networking/Consume.swift:

class Consume {
    
    let api = "http://127.0.0.1:3000"

Server app.js:

// Default port is 3000, but change it here if it's already in use
const PORT = 3000;

Step 4: Build the app

App should now be able to succesfully build from within Xcode.

Screenshots

Main View:

Recipe Detail View:

New Recipe / Edit Recipe Views (they are similar and share the same view and controller):

GitHub

View Github