This device is not compatible.


Create a Bill Split Application Using Ruby on Rails

Learn to create a bill splitting application using Ruby on Rails. This application will allow users to create groups and add their bills. The application will simplify those bills and record the amount owed to or by each group member.

Create a Bill Split Application Using Ruby on Rails

You will learn to:

Create applications with Ruby on Rails

Create and use migrations and associations

Understand the fundamentals of the MVC pattern.

Assess the database and update records.


Web Frameworks

MVC Architecture

Database Design


Good understanding of Ruby

Good understanding of the Rails framework

Good understanding of the MVC pattern and databases




Ruby on Rails

Project Description

In this project, we’ll create a simple application that allows users to create groups among themselves. The users will be able to split bills among the members of a group using this application. We’ll use Ruby on Rails to create this application to split the bills among different groups. Ruby on Rails is famous for its fast development and ease of debugging.

First, we’ll create the database model and associations between different tables. We’ll use associations to create tables. We’ll 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.

This project will help us develop skills to build applications in Ruby on Rails, which is very popular for developing SaaS applications.

Project Tasks


Get Started

Task 0: Initial Setup


Create a User Profile

Task 1: Set Up the User Authentication

Task 2: Add Authentication to the Home Controller

Task 3: Add a Navbar

Task 4: Change the Log-in Page View


Create Schemas

Task 5: Create a Group’s Schema

Task 6: Create Expenses Schema


Create Views

Task 7: Create a New Group Form

Task 8: Enlist Groups on the Home Page

Task 9: Create a Show Group View


Splitting Implementation for Expenses

Task 10: Create Forms for Splitting Expenses

Task 11: Handling an Equal Split

Task 12: Handling an Unequal Split