photostream

A photo sharing iOS app that uses Firebase and is being driven by VIPER architecture.

171
41
Swift

Photostream

A photo sharing app that uses Firebase.

  • [x] Swift 4
  • [x] iOS 11

There is a swift3 branch for those who want to stay on Swift 3.

How To Make It Work?

  • Clone this repo or download source code.
  • Do $ pod install. (install cocoapods first if not installed)
  • Create a new project in your Firebase console.
  • Set the database rules to:
{
    "rules": {
        ".read": "auth != null",
        ".write": "auth != null",
        "users": {
          "$user_id": {
            ".indexOn": ["username", "id", "email"]
          },
          ".indexOn": ["username", "id", "email"]
        }
    }
}
  • Enable Email/Password sign-in method.
  • Download the GoogleService-Info.plist file.
  • Put the file into the root of the project folder.
  • Open Photostream.xcworkspace and add the file into the Photostream project.
  • Modify the bundle identifier and display name.
  • There you go, build and run the app. 😃

Screenshots

Login Registration News Feed
Profile Edit Settings Photo Picker
Photo Share Post Upload Comment Controller

Remarks

This app is built because there is no complicated iOS app (social media-ish) out there that uses the VIPER arthictecture. A todo list app is not enough to see what the VIPER architecture can really do. If you have comments or improvements about it, just file an issue and let us discuss about that. Also, this will somewhat give a leverage to those who are still into Massive View Controller (MVC) coding approach. Reading articles about VIPER architecture is not enough, putting it into practice makes it more interesting and exciting. Happy Coding!

License

MIT License