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
💥 Fwitter app now uses both firebase realtime
and firestore
database.💥
In branch firetore Fwitter uses Firestore
database for app.
In branch Master and realtime_db Fwitter uses Firebase Realtime
database 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 ☕
You can also nominate me for Github Star developer program
https://stars.github.com/nominate
Contributors
Visitors Count