Chatter – Building a Flutter Chat Application From Scratch
Chatter is a demo application showing how to create a chat app from scratch using Flutter and the Stream Chat Flutter Core package.
Where To Start
If you’re new to Stream Chat Flutter, we recommend taking a look at the official tutorial: https://getstream.io/chat/flutter/tutorial/
Using the Stream Chat Flutter package you’ll get a full working chat experience with minimal code.
This repository demonstrates how to use the Stream Chat Flutter Core package to build your own UI components from scratch.
The video tutorials provide a step-by-step guide to understand the code in this repository: Chatter YouTube series playlist
More Samples
Looking for more Flutter content? Take a look at our samples repository to see what you can create using Stream and Flutter.
Installation Instructions
git clone https://github.com/HayesGordon/chatter.git
Check out the required branch
git checkout {branch-name}
Install dependencies
flutter pub get
Generate the needed platform folders (Android, iOS). Some of the branches may have these already included.
flutter create .
Further Setup
Add your Stream app’s key in lib/app.dart
.
In the third tutorial the application requires Firebase Authentication and Cloud Functions to be setup. From the fourth tutorial this is even easier with Stream’s Firebase Extensions, see the video for more information.
Episodes / Tutorials
Episode 01 – Design/UI [ Video ] [ Entry Code ] [ Completed Code ] – Create the UI and structure for the application.
Episode 02 – Stream API [ Video ] [ Entry Code ] [ Completed Code ] – Connect to the Stream API with basic chat functionality
Episode 03 – Firebase Auth and Functions [ Video ] [ Entry Code ] [ Completed Code ] – Use Firebase Authentication and Cloud Function to generate Stream API user tokens
Episode 04 – Migrate Version 4 & Stream Firebase Extensions [ Video ] [ Entry Code ] [ Completed Code ] – Make use of Stream’s Firebase Extensions to simplify authentication and migrate to V4 of the Stream Chat Flutter Core SDK.