TheAlphamerc / flutter_twitter_clone

Fully functional Twitter clone built in flutter framework using Firebase realtime database and storage
MIT License
3.87k stars 1.09k forks source link
firebase-auth firebase-realtime-database firebase-storage flutter flutter-app flutter-apps social social-app twitter twitter-clone

Fwitter - Twitter clone in flutter GitHub stars GitHub forks

A working Twitter clone built in Flutter using Firebase auth,realtime,firestore database and storage.

Fwiiter Banner

Dart CI GitHub pull requests GitHub closed pull requests GitHub last commit GitHub issues Open Source Love

Awesome Flutter

Download App

Features

Dependencies

Click to expand * [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)

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

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) Twitter Follow

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

Contributors

Loading