This is a Tutorial to build Responsive Reddit Clone, a Social Media application with Flutter as frontend framework and Firebase as Backend! This app consists of all the popular features from Reddit. One can login with Google or as Guest where there are guest restricted features, for example displaying the latest posts, dissimilar to what happens in Google Sign In, where we get posts from the communities we are a part of. With Google Sign In, one can also create and join communities, edit description and avatar of community, edit user profile, share text, link or image based posts, upvote, downvote, comment, award, delete, with moderator special features like adding other moderators and deleting any post. Also, one can toggle the theme in the application, from dark mode to light mode or vice versa. It is a completely responsive project, accessible on Android, iOS & Web.
In this process, learn about designing Responsive UI and manage routing with Flutter, writing backend code and complex queries with Firebase and State Management with Riverpod 2.0!
Prerequisites: Flutter & Dart Basics
📌 Discord Server: discord.gg/Q8Rx8YWFVF
Source Code: github.com/RivaanRanawat/flutter-reddit-clone
Special Thanks: @aadhiarun2230
Resources:
Colors: github.com/RivaanRanawat/flutter-reddit-clone/blob…
Images: github.com/RivaanRanawat/flutter-reddit-clone/tree…
Constants: github.com/RivaanRanawat/flutter-reddit-clone/blob…
Upvote Icon Font: github.com/RivaanRanawat/flutter-reddit-clone/tree…
Awards: reddit.fandom.com/wiki/Awards
SHA-1 Key: stackoverflow.com/questions/51845559/generate-sha-…
Timestamps:
(00:00:00) Introduction & Demo
(00:01:33) Flutter Project Setup
(00:05:38) Flutter Folder Structure Explanation
(00:09:31) Login Screen UI
(00:24:32) Firebase Setup
(00:36:00) Google Sign In Firebase Authentication
(01:05:03) Storing Data to Firestore
(01:21:18) Efficient Exception Handling Technique
(01:38:05) Storing Data to Provider
(01:52:20) Flutter Route Management
(01:56:57) Firebase State Persistence
(02:15:34) Home Screen AppBar UI
(02:18:40) Community List Flutter Drawer
(02:27:10) Create Community Screen UI
(02:34:48) Creating Communities and Storing to Firebase
(02:55:52) Displaying User Communities
(03:08:44) Community Profile UI
(03:31:31) Mod Tools UI
(03:39:40) Edit Community Screen UI
(04:00:00) Editing Community
(04:23:43) Searching Communities
(04:39:31) User Profile Drawer UI
(04:45:13) Logging User Out
(04:47:58) Joining & Leaving Communities
(04:57:50) Adding Moderators
(05:14:39) User Profile UI
(05:21:27) Edit User Profile
(05:38:14) Toggling Theme
(05:52:13) Bottom Nav Bar
(05:58:52) Add Post Screen UI
(06:05:50) Sharing Link, Image & Text Only Posts
(06:40:58) Fetching Feed Posts
(07:16:20) Deleting Posts
(07:21:30) Upvoting/Downvoting Posts
(07:29:25) Moderator Option on Posts
(07:35:40) Displaying Posts on User Profile
(07:45:19) Comments on Posts
(08:14:28) Updating User Karma Based on Activities
(08:24:54) Awarding the Post/User
(08:46:06) Firebase Login as Guest
(08:50:04) Restricting Guest Features
(09:04:50) Running on Web - Flutter Responsive UI
(09:34:59) Conclusion
Join this channel to get access to perks:
youtube.com/channel/UC-1kzHtwBY8n0TY5NhYxNaw/join
Connect With Me Here:
Instagram: instagram.com/optimalcoding
GitHub: github.com/rivaanranawat
Linkedin: www.linkedin.com/in/rivaan-ra...
Facebook: www.facebook.com/rivaan.ranawat/
Mail: namanrivaan@gmail.com
Medium: namanrivaan.medium.com/
Twitter: twitter.com/RanawatRivaan
#flutter #firebase #reddit
コメント