This device is not compatible.


Create a Bill Split Application using Elixir and Phoenix

Learn to create a bill-splitting application by using Elixir and Phoenix, which will allow users to create groups and split the bill.

Create a Bill Split Application using Elixir and Phoenix

You will learn to:

Create applications in Elixir/Phoenix.

Create and use Ecto migrations and associations.

Understand the fundamentals of the MVC pattern.

Query the database and update records.


Web Frameworks

MVC Architecture

Database Design


Good understanding of Elixir

Good understanding of Phoenix

Good understanding of Ecto and PostgreSQL





Project Description

In this project, we’ll create a simple application that allows users to create groups among themselves. The users then get to split bills among the members of a group.

First, you will create the database model and associations between different tables. We’ll use Ecto associations. We will also update the associated records to track expenses and the amount owed by each group member.

Then, we’ll create controllers and templates to create a new group or add an expense to a specific group. We will develop skills to build applications in Elixir and Phoenix.

Project Tasks


Setup and Configuration

Task 0: Getting Started

Task 1: Initial Setup


User Schema

Task 2: Create Users

Task 3: Test Users



Task 4: Create a Group Schema

Task 5: Create a Home Page



Task 6: Write a Migration

Task 7: Create an Expenses Schema

Task 8: Create an Association


Group Controller

Task 9: Index View

Task 10: New Group View

Task 11: Create a New Group

Task 12: Create Expenses

Task 13: Fetch Groups and Return User IDs

Task 14: Show the Group View

Task 15: Modify the Template File


Expense Controller

Task 16: Add Payments

Task 17: Interact with the Expenses Schema

Task 18: Extract Data from the Parameters

Task 19: Split Payments Equally

Task 20: Create a Form for an Unequal Split

Task 21: Split Payments Unequally