An Instagram-like sample app using Combine, Firebase and MVVM pattern.
See Instructions below if you'd like to run the app for testing.
- Register and log in with email and password
- Upload photos with captions
- Interactions: like / bookmark / comment
- Instagram-like UI
- Dark mode
- Combine framework (iOS 13+)
- Compositional collection view (iOS 13+)
- Diffable data source (iOS 13+)
- Firebase (for authentication, uploading/fetching posts, comments and user data)
- CocoaPods
- MVVM design pattern
- Coordinator(flow controller) design pattern
- Custom UI without storyboard
- Dark mode
To run the app, you need to create and configure your own Firebase project:
- Register an iOS app with the bundle ID
com.yhchen.Flow
and download theGoogleService-Info.plist
into the Xcode project directory\Flow
- Enable Authentication (add Email/Password sign-in provider), Firestore, Storage with appropriate rules
- Open
Flow.xcworkspace
and run the app
- Edit posts/comments
- Notifications
- Search for users/posts
- Chatroom
- Storybooks
- Sliding menu