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 (recommended)
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.
- Install SwiftLint by downloading
SwiftLint.pkg
from the latest GitHub release and running it. - 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):