fireflutter 0.2.0 copy "fireflutter: ^0.2.0" to clipboard
fireflutter: ^0.2.0 copied to clipboard

outdated

A free, open source, complete, rapid development package for creating Social apps, Chat apps, Community(Forum) apps, Shopping mall apps, and much more based on Firebase.

Fire Flutter #

A free, open source, rapid development package for creating Social apps, Chat apps, Community(Forum) apps, and much more based on Flutter and Firebase.

I am looking for community devleopers who can join this work. Please email me at thruthesky@gmail.com

Table of contents

Features #

  • User

    • User registration is done with Firebase Flutter UI.
  • User presence

    • To know if a user is online or offline.

Installation #

Running the example #

Creating a new project #

Firebase installation #

  • Refer the instructions of FlutterFire Overview

  • Download ios app's GoogleService-Info.plist. And save it under <root>/example/ios/Runnder, Then open Xcode and drag it under Runner.

Firebase Realtime Database Installation #

  • To install Firebase Realtime Database, enable it on Firebase console and put the security rules.

  • Note, if you enable Firebase Realtime Database, you have to re-download and update the GoogleService-Info.plist.

    • You may need to update the GoogleService-Info.plist after enabling other features of the Firebase.

Packages #

  • We use Getx for route & state management.
  • We use FlutterFire UI for Firebase auth and other UI examples.
    • You may build your own UI.

User #

User Installation #

  • Do Firebase installation
  • Enable Email/Password Sign-In method to login with email and password.
  • Enable Google Sign-In method and add the following in Info.plist to login with Google account
<!-- Google Sign-in Section -->
<key>CFBundleURLTypes</key>
<array>
	<dict>
		<key>CFBundleTypeRole</key>
		<string>Editor</string>
		<key>CFBundleURLSchemes</key>
		<array>
			<!-- TODO Replace this value: -->
			<!-- Copied from GoogleService-Info.plist key REVERSED_CLIENT_ID -->
			<string>com.googleusercontent.apps.------------------------</string>
		</array>
	</dict>
</array>
<!-- End of the Google Sign-in Section -->

User Presence #

User Presence Overview #

User Presence

User Presence Installation #

class _MainAppState extends State<MainApp> {
  @override
  void initState() {
    super.initState();
    Presence.instance.activate();
  }

  @override
  void dispose() {
    super.dispose();
    Presence.instance.deactivate();
  }
}
  • To know if a user is online, offline or away, use UserPresence widget.
UserPresence(
  uid: uid,
  onlineBuilder: () => Row(
    children: const [
      Icon(Icons.circle, color: Colors.green),
      Text('Online'),
    ],
  ),
  offlineBuilder: () => Row(
    children: const [
      Icon(Icons.circle, color: Colors.red),
      Text('Offline'),
    ],
  ),
  awayBuilder: () => Row(
    children: const [
      Icon(Icons.circle, color: Colors.yellow),
      Text('Away'),
    ],
  ),
),

User Presence Logic #

  • If user didn't login to the device, nothing will happens.
  • /presense/$uid document will be written only when user logs in and out.
  • When app is closed, the user will be offline.

TODOs #

Find Friends #

  • Idea: See if you are looking for a friend in a busy city. When you and your friend are connected, you can find each other by sharing geo location.
  • Implementaion: put find button and when connected, display position in map and update the geo location.
154
likes
0
pub points
69%
popularity

Publisher

verified publishersonub.com

A free, open source, complete, rapid development package for creating Social apps, Chat apps, Community(Forum) apps, Shopping mall apps, and much more based on Firebase.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

firebase_auth, firebase_core, firebase_database, flutter, flutterfire_ui, get

More

Packages that depend on fireflutter