Flutter Chat Application with location integration using GetStream

Overview

Chat Location

chat_location coverage style: very good analysis License: MIT

Generated by the Very Good CLI πŸ€–

A chat application built with Flutter using the Stream Chat SDK. Check out the full tutorial.


Getting Started πŸš€

This project contains 3 flavors:

  • development
  • staging
  • production

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart

# Production
$ flutter run --flavor production --target lib/main_production.dart

*Chat Location works on iOS and Android.


Running Tests πŸ§ͺ

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html

Working with Translations 🌐

This project relies on flutter_localizations and follows the official internationalization guide for Flutter.

Adding Strings

  1. To add a new localizable string, open the app_en.arb file at lib/l10n/arb/app_en.arb.
{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    }
}
  1. Then add a new key/value and description
{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    },
    "helloWorld": "Hello World",
    "@helloWorld": {
        "description": "Hello World Text"
    }
}
  1. Use the new string
import 'package:chat_location/l10n/l10n.dart';

@override
Widget build(BuildContext context) {
  final l10n = context.l10n;
  return Text(l10n.helloWorld);
}

Adding Supported Locales

Update the CFBundleLocalizations array in the Info.plist at ios/Runner/Info.plist to include the new locale.

    ...

    <key>CFBundleLocalizationskey>
	<array>
		<string>enstring>
		<string>esstring>
	array>

    ...

Adding Translations

  1. For each supported locale, add a new ARB file in lib/l10n/arb.
β”œβ”€β”€ l10n
β”‚   β”œβ”€β”€ arb
β”‚   β”‚   β”œβ”€β”€ app_en.arb
β”‚   β”‚   └── app_es.arb
  1. Add the translated strings to each .arb file:

app_en.arb

{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    }
}

app_es.arb

{
    "@@locale": "es",
    "counterAppBarTitle": "Contador",
    "@counterAppBarTitle": {
        "description": "Texto mostrado en la AppBar de la pΓ‘gina del contador"
    }
}
Comments
  • chore: add app gif

    chore: add app gif

    Description

    • Add app gif.
    • Small fix on location page AppBar's color.

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [x] πŸ—‘οΈ Chore
    opened by marcossevilla 0
  • docs: update README to include tutorial link

    docs: update README to include tutorial link

    Description

    • docs: update README to include tutorial link

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [X] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    documentation 
    opened by felangel 0
  • chore: upgrade very good analysis 2.3.0

    chore: upgrade very good analysis 2.3.0

    Description

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [x] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [x] πŸ—‘οΈ Chore
    opened by marcossevilla 0
  • chore: upgrade workflows to flutter version 2.5.0-5.2.pre

    chore: upgrade workflows to flutter version 2.5.0-5.2.pre

    Description

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [x] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [x] πŸ—‘οΈ Chore
    opened by marcossevilla 0
  • feat(message_location): add Google Map to track location attachment

    feat(message_location): add Google Map to track location attachment

    Description

    • Add google_maps_flutter configuration.
    • Change GoogleMapView to MessageLocationPage.

    Type of Change

    • [x] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    opened by marcossevilla 0
  • test: reach 100% code coverage

    test: reach 100% code coverage

    Description

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    opened by jonathankao97 0
  • test: add message_list_page render tests

    test: add message_list_page render tests

    Description

    Type of Change

    • [ ] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    opened by jonathankao97 0
  • feat: location thumbnail and attachment

    feat: location thumbnail and attachment

    Description

    • feat: location thumbnail and attachment

    Type of Change

    • [X] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    enhancement 
    opened by felangel 0
  • feat(chat_ui): ChannelAppBar

    feat(chat_ui): ChannelAppBar

    Description

    • feat(chat_ui): ChannelAppBar

    Type of Change

    • [X] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    enhancement 
    opened by felangel 0
  • feat: MessageInput

    feat: MessageInput

    Description

    • feat: render MessageInput in MessageListView

    Type of Change

    • [X] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    enhancement 
    opened by felangel 0
  • feat: MessageListView

    feat: MessageListView

    Description

    • feat: render MessageListView

    Type of Change

    • [X] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    enhancement 
    opened by felangel 0
Owner
Very Good Ventures
A Very Good Flutter Development Consultancy (also @VeryGoodOpenSource)
Very Good Ventures
The objective is to create a simple app using Dart/Flutter, for make a REST API integration with Flutter, using free JSON API

ListView Builder App The objective is to create a simple app using Dart/Flutter, for make a REST API integration with Flutter, using free JSON API: ht

Rafael Tozzo 1 Dec 7, 2022
A simple flutter application which explains razorpay payment gateway integration with flutter.

A simple flutter application which explains razorpay payment gateway integration with flutter.

poker784 0 Oct 24, 2021
An login integration for social media app using flutter

Login-To An login integration for social media app using flutter To run this app first you need to install flutter sdk in your operation system after

null 2 May 3, 2022
Simple Counter App in Flutter with unit, widget and integration tests

Simple Counter App in Flutter with unit, widget and integration tests

Guilherme Haddad 0 Nov 12, 2021
A Flutter package which can be used to make polylines(route) from a source to a destination, and also handle a driver's realtime location (if any) on the map.

GoogleMapsWidget For Flutter A widget for flutter developers to easily integrate google maps in their apps. It can be used to make polylines from a so

Rithik Bhandari 14 Nov 30, 2022
Sorting of locations ref. nearest location.

Locations Sort locations with nearest distance How it works? Get user's current location Compare with other destinations Sort according the nearest Th

Frantic 9 Dec 22, 2022
An app to get you the latest and the trending news based on your location.

An app to get you the latest and the trending news based on your location.

Ayush Shekhar 19 Nov 11, 2022
PyChat: Chat Application made in Flutter using Firebase

PyChat Chat Application made in Flutter using Firebase. Also added animated splash screen with Pychat logo. Languages and Tools Used: Flutter Dart Fir

Vaibhav Shukla 2 Nov 10, 2021
Realtime chat application interface using Socket.IO for Flutter GDSC event

flutter_socket_chatapp Simplet multi user chat app using Socket.IO and API calls Getting Started This project is a starting point for a Flutter applic

Soorya Senthil Rajan 1 Jun 15, 2022
A simple chat application in flutter made with stream.

chat_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Samuel Adekunle 18 Oct 11, 2022
Chatter - Building a Flutter chat application from scratch

Chatter - Building a Flutter chat application from scratch See the relevant branch for the tutorial you'd like to follow. The main branch has the late

Gordon 75 Dec 17, 2022
Chat App Development Front-End and Back-End using Flutter, SocketIo, and NodeJS. (Limited code)

Chat App Development Front-End and Back-End using Flutter, SocketIo, and NodeJS. (Limited code) ( You can buy the full code on $30 (mail me): devstack

Balram Rathore 364 Dec 31, 2022
Simple tool to open WhatsApp chat without saving the number, developed using Google's Flutter Framework.

Simple tool to open WhatsApp chat without saving the number, developed using Google's Flutter Framework. for Android/ IOS/ Desktop/ Web

Swarup Bhanja Chowdhury 15 Nov 1, 2022
Flutter chat room app made with firebase cloud firestore

Flutter chat room app made with firebase cloud firestore

Berke 2 Jul 6, 2022
Flutter Chat Components for Combase β€’ Powered By Stream

combase_flutter A new Flutter package project. Getting Started This project is a starting point for a Dart package, a library module containing code t

Stream 4 Feb 24, 2021
Firebase chat app made with Flutter

Flutter Firechat Create a new Flutter project via Flutter Docs Create a new Firebase project Enable Google Authentication and Firestore Add a new Fire

Fireship 52 Dec 9, 2022
A simple chat app for flutter

this is a flutter chat app -chatss uses otp to verify email at time to register so there are no spam registrations -chatss uses firebase authenticatio

HARSH RAO 1 May 11, 2022
Flutter 3.0/Node Chat with bcrypt, validators, mongoose jwt and sockets

Flutter 3.0/Node Chat with bcrypt, validators, mongoose jwt and sockets

null 6 Nov 29, 2022
A simple recipe showing application made using Flutter , using card Views MaterialPageRoute etc.

recipes A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Akash Srivastava 1 Oct 31, 2021