Home

Awesome

<h1 align="center">Chatter - Building a Flutter Chat Application From Scratch</h1> <p align="center"> <a href="https://pub.dev/packages/stream_chat_flutter_core"><img src="https://img.shields.io/pub/v/stream_chat_flutter_core?include_prereleases" alt="Pub"></a> <a href="https://pub.dev/packages/flutter_lints"><img src="https://img.shields.io/badge/style-flutter__lints-blue" alt="style: flutter lints"></a> <a href="https://github.com/GetStream/flutter-samples"><img src="https://img.shields.io/badge/flutter-samples-teal.svg?longCache=true" alt="Flutter Samples"></a> <a href="https://opensource.org/licenses/Apache-2.0"><img alt="License" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"/></a> <a href="https://getstream.io/"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/HayesGordon/e7f3c4587859c17f3e593fd3ff5b13f4/raw/11d9d9385c9f34374ede25f6471dc743b977a914/badge.json" alt="Stream Feeds"></a> </p> <p align="center"> Chatter is a demo application showing how to create a chat app from scratch using <a href="https://flutter.dev/">Flutter</a> and the <a href="https://pub.dev/packages/stream_chat_flutter_core/">Stream Chat Flutter Core package</a>. </br> <p align="center"> <img src="https://user-images.githubusercontent.com/13705472/160611526-5caf7e95-4377-4798-881b-7a6c6e932c6b.gif" /> </p>

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 1 - Design/UI

Episode 01 - Design/UI [ Video ] [ Entry Code ] [ Completed Code ] - Create the UI and structure for the application.

Episode 02 - Stream API

Episode 02 - Stream API [ Video ] [ Entry Code ] [ Completed Code ] - Connect to the Stream API with basic chat functionality

Episode 03 - Firebase Auth and Functions

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

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.