cloud_firestore
适用于 Android 和 iOS 的 Cloud Firestore Flutter 插件,一个托管在云端的 NoSQL 数据库,支持实时同步和离线功能。
使用 Firebase 实时数据库和存储功能在 Flutter 框架中构建的完整功能 Twitter 克隆应用
适用于 Android 和 iOS 的 Cloud Firestore Flutter 插件,一个托管在云端的 NoSQL 数据库,支持实时同步和离线功能。
适用于 Google Analytics for Firebase 的 Flutter 插件,这是一款应用测量解决方案,可提供 Android 和 iOS 上的应用使用情况和用户参与度的洞察。
Firebase Auth 的 Flutter 插件,支持使用密码、电话号码以及 Google、Facebook 和 Twitter 等身份提供商进行身份验证。
Firebase Database 的 Flutter 插件,一个托管在云端的 NoSQL 数据库,可在 Android 和 iOS 客户端之间实现实时数据同步,并支持离线访问。
适用于 Firebase 云消息传递的 Flutter 插件,一种跨平台的消息解决方案,可让您在 Android 和 iOS 上可靠地传递消息。
Firebase Remote Config 的 Flutter 插件。无需重新发布应用即可更新应用的外观和行为。
适用于 Firebase Cloud Storage 的 Flutter 插件,这是一项功能强大、简单且成本效益高的对象存储服务,适用于 Android 和 iOS。
一个围绕 InheritedWidget 的包装器,使其更易于使用且更具可重用性。
基于苹果风格图标的Cupertino控件默认图标资源
一个用于从 fonts.google.com 使用字体的 Flutter 包。支持 HTTP 获取、缓存和资源打包。
用于 Google 登录的 Flutter 插件,一种通过 Google 账户登录的安全身份验证系统。
用于从 Android 和 iOS 图像库中选择图片以及使用相机拍摄新照片的 Flutter 插件。
{"sdk":"flutter"}^1.0.3^0.10.0^7.2.0^2.0.3^3.3.1^6.0.1^5.1.3^11.0.4^11.2.1^5.2.0^12.1.2^2.0.3^1.0.0^8.0.1^2.0.8^15.0.4^6.1.2^0.19.0^6.0.12^10.0.0^6.2.1^5.0.4^6.0.4^1.0.0^4.1.0^0.28.0^1.0.0^1.17.10{"sdk":"flutter"}^0.13.1以下为英文项目原文快照,最新内容请访问 GitHub。
A working Twitter clone built in Flutter using Firebase auth,realtime,firestore database and storage.
Fwiiter BannerDart CI GitHub pull requests GitHub closed pull requests GitHub last commit GitHub issues Open Source Love
Awesome Flutterhttps://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png
:boom: Fwitter app now uses both firebase realtime and firestore database.:boom:
Firestore database for app.Firebase Realtime database for app.| Welcome Page | Login Page | Signup Page | Forgot Password Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Auth/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Auth/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Auth/screenshot_3.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Auth/screenshot_4.jpg?raw=true |
| Home Page Sidebaar | Home Page | Home Page | Home Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Home/screenshot_5.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Home/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Home/screenshot_7.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Home/screenshot_6.jpg?raw=true |
| Compose Tweet Page | Reply To Tweet | Reply to Tweet | Compose Retweet with comment |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/CreateTweet/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/CreateTweet/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/CreateTweet/screenshot_4.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/CreateTweet/screenshot_3.jpg?raw=true |
| Tweet Detail Page | Tweet Thread | Nested Tweet Thread | Tweet options |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_3.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_4.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_2.jpg?raw=true |
| Notification Page | Notification Page | Notification Page | Notification Setting Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Notification/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Notification/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Notification/screenshot_3.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Notification/screenshot_4.jpg?raw=true |
| Profile Page | Profile Page | Profile Page | Profile Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Profile/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Profile/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Profile/screenshot_4.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Profile/screenshot_7.jpg?raw=true |
| Select User Page | Chat Page | Chat Users List | Conversation Info Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Chat/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Chat/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Chat/screenshot_3.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Chat/screenshot_4.jpg?raw=true |
| Search Page | Search Setting Page | Tweet Options - 1 | Tweet Options - 2 |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Search/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Search/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_5.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_6.jpg?raw=true |
| Setting Page | Account Setting Page | Privacy Setting Page | Privacy Settings Page |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_4.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_3.jpg?raw=true |
| Content Prefrences Page | Display Setting Page | Data Settings Page | Accessibility Settings |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_5.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_6.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_7.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_8.jpg?raw=true |
| Users who likes Tweet | About Setting Page | Licenses Settings | Settings |
|---|---|---|---|
| https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/TweetDetail/screenshot_7.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_9.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_10.jpg?raw=true | https://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/screenshots/Settings/screenshot_81.jpg?raw=true |
|-- 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
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.
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