Search⌘ K
AI Features

Build the Functionality

Explore how to implement core JavaScript functions such as addIncome and addExpense within a simple Budget Tracker app. Learn best practices for program structure, including variable usage, reusable functions, and interactive loops, while using AI tools to scaffold additional features.

In the previous lesson, you:

  • Chatted with a simulated client and gathered needs.

  • Converted notes into functional requirements.

  • Created a clean skeleton of eight function stubs.

Next, we’ll code the two core functions, scaffold the rest with AI, and add tests plus a reference solution.

We’ll keep a tiny in-memory data model:

// Monthly income (one number we can update)
let income = 0.0;
// A growing list of expenses
// Each entry: { category: string, amount: number }
let expenses = [];
// Allowed categories for expense logging
const allowedCategories = [
"Food", "Rent", "Transport", "Entertainment",
"Utilities", "Health", "Education", "Other"
];

We’ll use the following conventions:

  • Use positive amounts only.

  • Use arrays and objects (no external libraries or file I/O).

  • Keep functions small and reusable.

Build the basics

We’ll implement addIncome and addExpense first. These are the heartbeat of the app; everything else plugs into them.

addIncome(amount)

Before we start coding our first function, let’s take a ...