flutter_twitter_clone
                                
                                 flutter_twitter_clone copied to clipboard
                                
                                    flutter_twitter_clone copied to clipboard
                            
                            
                            
                        Fully functional Twitter clone built in flutter framework using Firebase realtime database and storage
Fwitter - Twitter clone in flutter  
 
A working Twitter clone built in Flutter using Firebase auth,realtime,firestore database and storage.
 
   Download App
Features
- App features is mentioned at project section Click here
- Messaging chat section status can be seen at here
:boom: Fwitter app now uses both firebase realtime and firestore database.:boom:
- In branch firetore Fwitter uses Firestoredatabase for app.
- In branch Master and realtime_db Fwitter uses Firebase Realtimedatabase for app.
Dependencies
Click to expand
Screenshots
| Welcome Page | Login Page | Signup Page | Forgot Password Page | 
|---|---|---|---|
|  |  |  |  | 
| Home Page Sidebaar | Home Page | Home Page | Home Page | 
|---|---|---|---|
|  |  |  |  | 
| Compose Tweet Page | Reply To Tweet | Reply to Tweet | Compose Retweet with comment | 
|---|---|---|---|
|  |  |  |  | 
| Tweet Detail Page | Tweet Thread | Nested Tweet Thread | Tweet options | 
|---|---|---|---|
|  |  |  |  | 
| Notification Page | Notification Page | Notification Page | Notification Setting Page | 
|---|---|---|---|
|  |  |  |  | 
| Profile Page | Profile Page | Profile Page | Profile Page | 
|---|---|---|---|
|  |  |  |  | 
| Select User Page | Chat Page | Chat Users List | Conversation Info Page | 
|---|---|---|---|
|  |  |  |  | 
| Search Page | Search Setting Page | Tweet Options - 1 | Tweet Options - 2 | 
|---|---|---|---|
|  |  |  |  | 
| Setting Page | Account Setting Page | Privacy Setting Page | Privacy Settings Page | 
|---|---|---|---|
|  |  |  |  | 
| Content Prefrences Page | Display Setting Page | Data Settings Page | Accessibility Settings | 
|---|---|---|---|
|  |  |  |  | 
| Users who likes Tweet | About Setting Page | Licenses Settings | Settings | 
|---|---|---|---|
|  |  |  |  | 
Getting started
- Project setup instructions are given at Wiki section.
Directory Structure
Click to expand
|-- lib
|   |-- helper
|   |   |-- constant.dart
|   |   |-- customRoute.dart
|   |   |-- enum.dart
|   |   |-- routes.dart
|   |   |-- theme.dart
|   |   |-- utility.dart
|   |   '-- validator.dart
|   |-- main.dart
|   |-- model
|   |   |-- chatModel.dart
|   |   |-- feedModel.dart
|   |   |-- notificationModel.dart
|   |   '-- user.dart
|   |-- page
|   |   |-- Auth
|   |   |   |-- forgetPasswordPage.dart
|   |   |   |-- selectAuthMethod.dart
|   |   |   |-- signin.dart
|   |   |   |-- signup.dart
|   |   |   |-- verifyEmail.dart
|   |   |   '-- widget
|   |   |       '-- googleLoginButton.dart
|   |   |-- common
|   |   |   |-- sidebar.dart
|   |   |   |-- splash.dart
|   |   |   |-- usersListPage.dart
|   |   |   '-- widget
|   |   |       '-- userListWidget.dart
|   |   |-- feed
|   |   |   |-- composeTweet
|   |   |   |   |-- composeTweet.dart
|   |   |   |   |-- state
|   |   |   |   |   '-- composeTweetState.dart
|   |   |   |   '-- widget
|   |   |   |       |-- composeBottomIconWidget.dart
|   |   |   |       |-- composeTweetImage.dart
|   |   |   |       '-- widgetView.dart
|   |   |   |-- feedPage.dart
|   |   |   |-- feedPostDetail.dart
|   |   |   '-- imageViewPage.dart
|   |   |-- homePage.dart
|   |   |-- message
|   |   |   |-- chatListPage.dart
|   |   |   |-- chatScreenPage.dart
|   |   |   |-- conversationInformation
|   |   |   |   '-- conversationInformation.dart
|   |   |   '-- newMessagePage.dart
|   |   |-- notification
|   |   |   '-- notificationPage.dart
|   |   |-- profile
|   |   |   |-- EditProfilePage.dart
|   |   |   |-- follow
|   |   |   |   |-- followerListPage.dart
|   |   |   |   '-- followingListPage.dart
|   |   |   |-- profileImageView.dart
|   |   |   |-- profilePage.dart
|   |   |   '-- widgets
|   |   |       '-- tabPainter.dart
|   |   |-- search
|   |   |   '-- SearchPage.dart
|   |   '-- settings
|   |       |-- accountSettings
|   |       |   |-- about
|   |       |   |   '-- aboutTwitter.dart
|   |       |   |-- accessibility
|   |       |   |   '-- accessibility.dart
|   |       |   |-- accountSettingsPage.dart
|   |       |   |-- contentPrefrences
|   |       |   |   |-- contentPreference.dart
|   |       |   |   '-- trends
|   |       |   |       '-- trendsPage.dart
|   |       |   |-- dataUsage
|   |       |   |   '-- dataUsagePage.dart
|   |       |   |-- displaySettings
|   |       |   |   '-- displayAndSoundPage.dart
|   |       |   |-- notifications
|   |       |   |   '-- notificationPage.dart
|   |       |   |-- privacyAndSafety
|   |       |   |   |-- directMessage
|   |       |   |   |   '-- directMessage.dart
|   |       |   |   '-- privacyAndSafetyPage.dart
|   |       |   '-- proxy
|   |       |       '-- proxyPage.dart
|   |       |-- settingsAndPrivacyPage.dart
|   |       '-- widgets
|   |           |-- headerWidget.dart
|   |           |-- settingsAppbar.dart
|   |           '-- settingsRowWidget.dart
|   |-- state
|   |   |-- appState.dart
|   |   |-- authState.dart
|   |   |-- chats
|   |   |   '-- chatState.dart
|   |   |-- feedState.dart
|   |   |-- notificationState.dart
|   |   '-- searchState.dart
|   '-- widgets
|       |-- bottomMenuBar
|       |   |-- HalfPainter.dart
|       |   |-- bottomMenuBar.dart
|       |   '-- tabItem.dart
|       |-- customAppBar.dart
|       |-- customWidgets.dart
|       |-- newWidget
|       |   |-- customClipper.dart
|       |   |-- customLoader.dart
|       |   |-- customProgressbar.dart
|       |   |-- customUrlText.dart
|       |   |-- emptyList.dart
|       |   |-- rippleButton.dart
|       |   '-- title_text.dart
|       '-- tweet
|           |-- tweet.dart
|           '-- widgets
|               |-- parentTweet.dart
|               |-- retweetWidget.dart
|               |-- tweetBottomSheet.dart
|               |-- tweetIconsRow.dart
|               |-- tweetImage.dart
|               '-- unavailableTweet.dart
|-- pubspec.yaml
Contributing
If you wish to contribute a change to any of the existing feature or add new in this repo, please review our contribution guide, and send a pull request. I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request.
Created & Maintained By
Sonu Sharma (Twitter) (Youtube) (Insta) (Dev.to)
If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of :coffee:
You can also nominate me for Github Star developer program https://stars.github.com/nominate
