Real-time Chat Application with Elixir, Phoenix & Flutter

Create a practical full-stack project, with Elixir on the back-end and Flutter on the front-end.

Ratings: 1.00 / 5.00




Description

Create a real-time database backed REST API in Elixir, Phoenix & PostgreSQL. The language which powers, in one way or another (ErLang) Whatsapp, Discord, Pinterest etc. Then create it's front-end app in none other than Google's Flutter.

We will be using Phoenix Framework, the fantastic MVC framework for developing backends and full stack projects in Elixir. Consider Phoenix more like Express of Node.js but way more cooler of course. Well, Elixir altogether is cooler than any other language I code but nevertheless, one thing at a time. For websockets, we will be leveraging Phoenix Channels and we will integrate it's client for Flutter when we move on to the front-end.

Feature wise you will be shown a list of available rooms (which you can create via the API). Then by tapping on a particular Room, you will join that room and the messages of that particular Room will be listed. Along with that you will see a message form down at the bottom where you can type and post the message. When you post that message, it will be broadcasted via Phoenix Channels (websockets under the hood) and whoever had subscribed to that room will get that new message, in real-time. Is that cool or what? Making a full-stack real-time chat app on this powerful stack.

Architecture

  1. Rooms

    1. Create Room (API only)

    2. Join Room

  2. Messages

    1. List messages of a particular room.

    2. Post message to a room.

    3. Get real-time updates whenever a new message is posted in a particular room.

  3. Postman

    1. Test the backend with Postman.

  4. Chrome Simulator for Flutter

    1. No more heavy loaded android studio. We will be creating our app using Chrome. Since Flutter now supports web as well so no need to install the heavy android studio during development. Chrome will full fill all our use case.

  5. A lot more

    1. We will be learning a lot more than written, about Elixir, Phoenix, Flutter, and creating full-stack projects altogether.

What You Will Learn!

  • Create the real-time chat app one last time, with the dream tech stack. And be done with the chat app ideas.
  • Learn to implement CRUD in REST style, Phoenix channels, real-time updates and integrating all in the Flutter App frontend. An end to end full-stack project
  • Create the chat app on the stack which powers the rest of the best chat apps, whatsapp, discord, pinterest etc.
  • Dive into functional programming and OOPs in one single course.

Who Should Attend!

  • Who wants to build a real-time chat app with the technologies which were designed to create real-time applications. Phoenix claims to handle 2 million concurrent connections with ease. Just so you know.