flutter_twitter_clone
## Fwitter - Twitter clone in flutter [](https://github.com/login?return_to=%2FTheAlphamerc%flutter_twitter_clone)  A working Twitter clone built in Flutter using Firebase auth,realtime,firestore database and storage. <a href="https://play.google.com/store/apps/details?id=com.thealphamerc.flutter_twitter_clone"> <img width="100%" alt="Fwiiter Banner" src="https://user-images.githubusercontent.com/37103237/152671482-885fd940-f4ea-4fb6-8baf-816c17b541d7.png"> </a>      [](https://github.com/Thealphamerc/flutter_twitter_clone) <a href="https://github.com/Solido/awesome-flutter#top"> <img alt="Awesome Flutter" src="https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true&style=flat-square" /> </a> ## Download App <a href="https://play.google.com/store/apps/details?id=com.thealphamerc.flutter_twitter_clone"><img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" width="200"></img></a> ## Features * App features is mentioned at project section [ Click here](https://github.com/TheAlphamerc/flutter_twitter_clone/projects/1) * Messaging chat section status can be seen at [here](https://github.com/TheAlphamerc/flutter_twitter_clone/projects/2) :boom: Fwitter app now uses both firebase `realtime` and `firestore` database.:boom: * In branch **firetore** Fwitter uses `Firestore` database for app. * In branch **Master** and **realtime_db** Fwitter uses `Firebase Realtime` database for app. ## Dependencies <details> <summary> Click to expand </summary> * [intl](https://pub.dev/packages/intl) * [uuid](https://pub.dev/packages/uuid) * [http](https://pub.dev/packages/http) * [share](https://pub.dev/packages/share) * [provider](https://pub.dev/packages/provider) * [url_launcher](https://pub.dev/packages/url_launcher) * [google_fonts](https://pub.dev/packages/google_fonts) * [image_picker](https://pub.dev/packages/image_picker) * [firebase_auth](https://pub.dev/packages/firebase_auth) * [google_sign_in](https://pub.dev/packages/google_sign_in) * [firebase_analytics](https://pub.dev/packages/firebase_analytics) * [firebase_database](https://pub.dev/packages/firebase_database) * [shared_preferences](https://pub.dev/packages/shared_preferences) * [flutter_advanced_networkimage](https://pub.dev/packages/flutter_advanced_networkimage) </details> ## 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](https://github.com/TheAlphamerc/flutter_twitter_clone/wiki/Gettings-Started) section. ## Directory Structure <details> <summary> Click to expand </summary> ``` |-- 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 ``` </details> ## 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](https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/CONTRIBUTING.md), and send a [pull request](https://github.com/TheAlphamerc/flutter_twitter_clone/pulls). 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](https://github.com/TheAlphamerc) ([Twitter](https://www.twitter.com/TheAlphamerc)) ([Youtube](https://www.youtube.com/user/sonusharma045sonu/)) ([Insta](https://www.instagram.com/_sonu_sharma__)) ([Dev.to](https://dev.to/thealphamerc))  > 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: > > * [PayPal](https://paypal.me/TheAlphamerc/) > You can also nominate me for Github Star developer program > https://stars.github.com/nominate ## Contributors * [TheAlphamerc](https://github.com/TheAlphamerc/TheAlphamerc) * [Liel Beigel](https://github.com/lielb100) * [Riccardo Montagnin](https://github.com/RiccardoM) * [Suriyan](https://github.com/imsuriyan) * [Liel Beigel](https://github.com/lielb100) * [Rodriguezv](https://github.com/aa-rodriguezv) ## Visitors Count <img align="left" src = "https://profile-counter.glitch.me/flutter_twitter_clone/count.svg" alt ="Loading">