Flutter Course – Build Full Stack Google Docs Clone
By freeCodeCamp.org
Published: Oct 20, 2022“
Build a responsive cross-platform Google Docs Clone using Flutter & Node.js. This tutorial is designed for beginners in Node.js and no prior knowledge of Javascript is required. This course will go through Google Authentication WITHOUT Firebase, keeping the users logged in, creating new documents, viewing the list of documents created by the user, updating the title of the document, sharing the link of the document, adding a rich text editor, collaboratively editing with as many users as you want and creating responsive design. We will be using Flutter, Node, Express, Socket, MongoDB and Riverpod.
Course created by Rivaan Ranawat. Check out his channel: https://www.youtube.com/c/RivaanRanawat
Source Code: https://github.com/RivaanRanawat/flutter-google-docs-clone
Special Thanks: @Aadhi ArunPrerequisites: Flutter & Dart Basics
Flutter Version: 3.3CONTENTS:
- (0:00:00) Intro
- (0:00:57) Creating Flutter Project
- (0:02:56) Designing Login Screen
- (0:09:24) Google Cloud Platform oAuth Client ID
- (0:13:00) Google Auth Android Setup
- (0:15:30) Google Auth iOS Setup
- (0:17:25) Google Auth Web Setup
- (0:19:17) Important Note on Auth
- (0:20:39) Running on Web on specific port
- (0:21:19) Google Sign In using Node.js
- (0:32:45) What is Node.js?
- (0:35:53) Creating & setting up Node Server
- (0:54:00) MongoDB Setup
- (1:01:01) Creating Signup API
- (1:32:16) Calling Signup API – Client Side
- (2:00:04) Persisting the State – Explanation
- (2:03:52) Generating JWT
- (2:07:31) Auth Middleware
- (2:22:50) Local Storage
- (2:41:15) Testing on Android
- (2:42:23) Routing
- (2:51:28) Creating NavBar
- (2:53:44) Signing Out
- (2:59:52) Creating New Document
- (3:23:32) Displaying all documents created by Me
- (3:37:57) Designing Document Screen
- (3:55:39) Updating Document Title
- (4:10:20) Socket Introduction & Connection
- (4:29:23) Collaborative Editing
- (4:49:26) Auto-Save
- (4:58:01) Routing Back to Main Page
- (4:59:45) Sharing Link
- (5:01:42) Conclusion
Resources:
SHA-1 Key: https://stackoverflow.com/questions/15727912/sha-1-fingerprint-of-keystore-certificate
Node Website: http://nodejs.org
NPM Website: https://www.npmjs.com
MongoDB: http://mongodb.com/
More about Status Codes: https://developer.mozilla.org/en-US/docs/Web/HTTP/StatusLearn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
”
Tag: Flutter
[#Script #Coding] Build a Live Stream Flutter App – Android & iOS Course
Build a Live Stream Flutter App – Android & iOS Course
By freeCodeCamp.org
Published: Mar 07, 2022“
In this course, we will build a live streaming app that allows you to stream with friends and be able to control their audio, video, and whether they are visible overall. On top of that this app will be able to push this stream out to most streaming platforms including Youtube and Twitch. This is a more intermediate course that requires basic knowledge about Flutter and State Management. Linked below are some resources for those not comfortable.
Code: https://github.com/tadaspetra/flutter…
Tadas Petra created this course.
Tadas Youtube: https://www.youtube.com/channel/UCNaJ…
Agora Youtube: https://www.youtube.com/channel/UCjPZ…Thanks to Agora for providing a grant to make this course possible. You can learn more about them at https://www.agora.io
- Blog For this Video: https://www.agora.io/en/blog/live-str…
- Learn about Flutter: https://www.youtube.com/c/Freecodecam…
- Basics of Agora: https://www.youtube.com/playlist?list…
- Basics of Riverpod: https://www.youtube.com/watch?v=8qzip…
Course Contents
- (0:00:00) Introduction
- (0:01:05) App Explanation
- (0:02:34) State Management
- (0:04:29) Agora Explained
- (0:04:58) Initializing App
- (0:05:33) Agora UI Kit
- (0:09:14) Initialize RTM and RTC
- (0:11:06) Architecture
- (0:13:30) Building Home Screen
- (0:19:46) Basic Agora Live Video
- (0:30:55) Creating a UID
- (0:40:14) Setting up State
- (0:48:53) Joining the Live Stream
- (1:08:52) Control User Audio and Video
- (1:31:49) Output to Streaming Platforms
- (1:52:12) Final Showcase
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
And subscribe for new videos on technology every day: https://youtube.com/subscription_cent…
”
[#Script #Coding] Flutter Course for Beginners – 37-hour Android App Development Tutorial
Flutter Course for Beginners – 37-hour Android App Development Tutorial
By freeCodeCamp.org
Published: Feb 24, 2022“
Learn how to use Flutter in this complete course for beginners. Flutter is an open-source UI software development kit used to create cross-platform applications for iOS, Android, Windows, Mac, and more.
GitHub repo: https://github.com/vandadnp/mynotes-course
Course developed by Vandad Nahavandipoor. Check out his channel: https://www.youtube.com/channel/UC8Np…Discord study group (for questions and answers about this course): https://discord.gg/C8UpxJyU4n
Setting up Firebase CLI and FlutterFire CLI on Windows: https://www.youtube.com/watch?v=nQ3Ah…Course Contents
- (00:00:00) Introduction
- (00:02:57) Developer Accounts
- (00:39:12) Setup
- (01:14:42) Introduction to Dart
- (02:01:26) Dart Control Statements and Collections
- (02:46:44) Sound Null safety in Dart
- (03:27:12) Dart Enumerations, Classes and Objects
- (04:18:36) Advanced Dart
- (05:00:41) Project Setup
- (05:48:30) iOS App Setup
- (06:59:32) Android App Setup
- (07:31:31) Firebase Backend Setup
- (08:01:20) Basic Registration Screen
- (09:04:54) Login View
- (09:53:10) Separating App Initialization from Login and Register Screens
- (10:19:47) Setting up Git and GitHub
- (11:10:34) Email Verification View
- (11:44:45) Link Between Login and Register Views
- (12:18:01) Logout View
- (13:13:46) Go From Login to Notes View
- (13:36:43) Cleaning Up our Routes
- (13:51:17) Error Handling in Login View
- (14:16:21) Error Handling in Register View, Next Screen After Registration
- (14:44:45) Confirming Identity Before Going to Main UI…
”