NationalDish app enables users to post their country's National Dish to the public feed. The NationalDish app uses Firebase for authentication, database and storage of the app's data.
- create Xcode project
- create firebase project
- add Xcode bundle id to firebase project
- drag GoogleService-Info.plist file to Xcode
- install firebase sdk using cocoapods
- enable email/password authentication on firebase
- setup firestore database
- setup firesbase storage
Firebase Resources
- create app login screen
- user can create an account
- user can sign in to existing account
- user can sign out of account
- a database user should also be created during the authenticate account creation process
- create national feed controller
- create profile view controller
- user can edit profile
- user can create a national dish post included adding a photo from camera or photo library
- dishes are sorted by most recently added
- user can edit their national dish post
- user can delete national dish post
- selecting a national dish post shows a detail view of the dish
- user can see more options via an action sheet to carry out appropriate actions e.g delete, edit, save image
- when posting profile images use the following image name "profileImages/(userId)"
- when posting a dish image use the folloing image name "nationalDishImages/(userId)/documentId-goes-here"
Login View
- user can sign in to an existing account
- user can create a new account
Add Dish Screen
- user can create a dish
- dish includes: country, description and a photo
- dishes are sorted by most recently added
Dishes View
- user can see all dishes
- user can create a dish
Detail Screen
- user edit, delete and save image
Profile View
- user can sign out
- user can update their profile image
- user can update their display name
- user can see their posts (all dishes they have created)






