Cloud Firestore provides you an easily manageable pre-configured NoSQL database. It helps in storing & syncing data for both client and server-side development; it also supports automatic caching of data for using it even offline. Google Cloud is the driving platform behind Cloud Firestore that can be scaled easily.

In this article, you will learn to integrate Cloud Firestore with Flutter, and perform CRUD (create, read, update and delete) operations.

So, let’s get started.

Creating a Firebase project

You will need to create a new Firebase project in order to integrate it with your application.

Navigate to the Firebase console and click Add project.


Video streaming is an important aspect of various kinds of applications, ranging from social media apps like TikTok and Instagram (Reels), which engage users with short video clips, to proprietary video-sharing applications similar to YouTube, which allow users to share medium-length to long videos.

Though a video streaming platform of some kind is an awesome addition to some apps and a spotlight feature in a few apps, managing the infrastructure and handling all the aspects of streaming is a really cumbersome job.

Some of the main steps involved in video streaming are:

  • Encoding and decoding the video
  • Managing video database…


I stumbled upon the @protocol during the Flutter Vikings Conference and participated in the @challenge organized by them.

DISCLAIMER: The @challenge was a 3 day-long contest, though due to prior engagements I got just one day. So, in whatever position you see the app, it was created in mere 11 hours of time (including the concept, planning, set up, and implementation).

It was amazing and quite a different experience to work on this highly privacy-concerned architecture, I’ll talk more about it in a bit.

What is @protocol?

The @protocol is an Open-source, P2P (Peer to Peer, or in their terms People-to-People) Internet protocol…


While building an application which deals with messaging, the most important part is keeping track of whether they are online/offline (formally known as User Presence). But, if you are using Firebase Cloud Firestore as your database, then handling this is pretty challenging.

In this article, I will show you how to manage user presence in a Flutter app using Cloud Firestore as it’s database.

We will be using Realtime Database and Cloud Functions to achieve this.

Disclaimer: Knowledge of JavaScript is recommended, as you have to write Cloud Functions using JS.

Sample app

The app that we will be building for this…


Flutter being a cross-platform app development framework supports devices with hugely varying screen sizes, it can run on a device as small as a smartwatch to devices like a large TV. It’s always a challenge to adapt your app to that variety of screen sizes and pixel densities using the same codebase.

There is no hard and fast rule for designing a responsive layout in Flutter. In this article, I will show you some of the approaches that you can follow while designing such a layout.

Before moving on to building responsive layouts in Flutter, I would like to throw…


In this article, I will show how you can use Google Calendar API to schedule and manage Google Meet video conference events in Flutter. Using this API you can also add attendees for an event and even send email notifications to them.

For the sample app, I will be using Firebase for performing the CRUD operations to store the event details of those created from our app.

Create a new Firebase project

To get started, let’s create a new Firebase project for our app.

  1. Go to the Firebase console, and click on Create a project.
  2. Enter the Project name and click Continue.


Navigation is one of the core concepts to master if you are working on any Android app having a complex navigation system. Properly handled navigation also helps to reduce any security flaw in your app, like authenticating the user before navigating to any sensitive content of the app or preventing any sensitive information to be shared with other apps on the device.

There is a constant improvement to the navigation system used in Android since the past one year. And this has introduced a lot of new concepts.

In this article, I will cover some of the important concepts of…


Welcome to the third part of the Flutter web article series. Previously, you learned how to make a Flutter web app responsive, and also how to add animations and dynamic theming support to it.

If you are not familiar with the previous two articles, you can check them out here:

In this article, I will cover a really important topic — authentication for your web app. If you want to create any kind of web app for a practical use-case, you will definitely need it. In-app authentication is necessary if you want to restrict users based on their different access…


Designing a complex user interface on Android having a nested view hierarchy was a common thing previously. But, with the introduction of ConstraintLayout, this has changed a lot. It reduces a lot of challenges of building complex layouts as now you can design them using the GUI of Layout Editor, by just dragging UI elements into a visual design editor instead of writing layout XML by hand.

You can take the full advantage of this Layout Editor while using ConstraintLayout (part of Android Jetpack libraries). It uses a flat view hierarchy and moreover it also provides some performance benefits.

If…


This is the second part of the Flutter web article series. In the previous article, we finished the basic UI design of the web app and also made it responsive. Now we will add some animations and dark theme support to it as well.

You can find the previous article here:

Just to refresh your memory, this is what we ended up with last time:

Souvik Biswas

Mobile Developer (Android, iOS & Flutter) | Technical Writer (Nevercode) | IoT Enthusiast | Avid video game player

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store