This device is not compatible.

PROJECT


Build a Group Chat Application Using Elixir

In this project, we’ll learn to develop a group chat application using Elixir and other relevant technologies. We’ll enable multiple users to broadcast messages to each other. Newcomers will also be able to view the existing chat without any authentication.

Build a Group Chat Application Using Elixir

You will learn to:

Set up an Elixir web project.

Use Phoenix to develop web applications.

Use Phoenix Channels for communication.

Perform data manipulation using Elixir and PostgreSQL.

Skills

Web Development

Web Frameworks

Using Elixir Channels

Prerequisites

Basic knowledge of Elixir

Basic knowledge of Phoenix Channels

Basic knowledge of WebSockets

Technologies

Elixir

Phoenix

Project Description

In this guided project, we’ll develop a group chat application using the Elixir programming language. Elixir is best suited for distributed systems communication, so this project enables us to easily apply our existing knowledge of Elixir to quickly develop a distributed application. We’ll enable a group of friends to chat with one another by employing technologies like Elixir, the Phoenix framework, Channels within Phoenix, and the PostgreSQL database to store the chat messages. The following diagram gives an overview of the application we’ll develop in this project:

Overview of the application’s working
Overview of the application’s working

Project Tasks

1

Getting the Basics Done

Task 0: Get Started

Task 1: Initial Setup

Task 2: Run the Application

2

Updating the User Interface

Task 3: Add Input Fields

3

Creating the Chat Channel

Task 4: Associate a Topic with the Channel

Task 5: Update the Hangout Channel Using the join Function

Task 6: Update the Hangout Channel Using the handle_in Function

Task 7: Update the Hangout Channel Using the handle_info Function

Congratulations!

has successfully completed the Guided ProjectBuild a Group Chat Application Using Elixir

Relevant Courses

Use the following content to review prerequisites or explore specific concepts in detail.