Skip to content

An Instagram-like sample app using Combine, Firebase and MVVM pattern.

Notifications You must be signed in to change notification settings

hanna-yhchen/Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flow

An Instagram-like sample app using Combine, Firebase and MVVM pattern.

See Instructions below if you'd like to run the app for testing.

Features

  • Register and log in with email and password
  • Upload photos with captions
  • Interactions: like / bookmark / comment
  • Instagram-like UI
  • Dark mode

Technologies

  • 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

Instructions

To run the app, you need to create and configure your own Firebase project:

  1. Register an iOS app with the bundle ID com.yhchen.Flow and download the GoogleService-Info.plist into the Xcode project directory \Flow
  2. Enable Authentication (add Email/Password sign-in provider), Firestore, Storage with appropriate rules
  3. Open Flow.xcworkspace and run the app

Todo

  • Edit posts/comments
  • Notifications
  • Search for users/posts
  • Chatroom
  • Storybooks
  • Sliding menu