Closed webdavis closed 3 years ago
@Erikjimenez314 @hb8man @Kokonut09 -- this is ready for a code review if you would like to take a look at it. See the overview of this above. I did waaaay too much work on this PR. This absolutely should have been broken up into like 4 different PRs.
Overview of this PR
Development Configuration
Development
,Staging
, andProduction
environments, all of which are managed usingxcconfig
files. To switch to a different environment just change the scheme.Enviroment.swift
file which exposes environment variables grabbed from thexcconfig
files.Development
environment, and sets up Firebase Emulators accordingly.firebase-tools
command-line client.Firebase Account Creation
AuthController
that uses completion handles to expose Firebase authentication.UserController
that can be passed around to ViewControllers to do work on a user object.UserController
so that we can write better tests going forward and have multiple users in the future, since this is a collaborative Vacation planning app. For more information on how to pass around data in an application see this article: Passing Data Between View Controllers in iOS: The Definitive Guide.Removes the need for Hard Coding information
ConfigController
singleton. Since we are only ever reading data it's fine to use a singleton here.Config
updates.Accounts Controller
-
Things that still need to be setup
[weak self]
needs to be handled inaddNotificationObserver
. (Forgot how to do this, just need to Google for a minute most likely.)UserDefaults
needs to be swapped out for something more secure and reliable.