Week 4 - Data structures and loops

Arrays

Loops

Objects

Package managers

Tools (IDE code editing)

Style - Autoformatting

Practice

Assignment

Back to core program

Week 4 Assignment - Personal Finance Tracker

Build a command-line personal finance tracker that manages income and expenses with proper tooling.

Project Requirements

Setup & Configuration

Core Functionality

1. Data Structure (Objects & Arrays)

Create a transactions array containing at least 5 transaction objects:

const transactions = [
  {
    id: 1,
    type: 'income',
    category: 'salary',
    amount: 3000,
    description: 'Monthly salary',
    date: '2025-01-15'
  },
  // ... more transactions
];

Each transaction must have: id, type (income/expense), category, amount, description, date.

2. Required Functions

Implement these functions using appropriate loops and array methods:

3. Display Requirements (Chalk)

Use chalk to color-code output:

4. Summary Report

Create a printSummary() function that displays:

5. Code Quality

Example Output

💰 PERSONAL FINANCE TRACKER 💰

All Transactions:
1. [INCOME] Salary - €3000 (salary)
2. [EXPENSE] Rent - €1200 (housing)
3. [EXPENSE] Groceries - €300 (food)
4. [INCOME] Freelance - €500 (side-income)
5. [EXPENSE] Utilities - €150 (bills)

📊 FINANCIAL SUMMARY 📊
Total Income: €3500
Total Expenses: €1650
Current Balance: €1850

Largest Expense: Rent (€1200)
Total Transactions: 5

Bonus Challenges

Submission

TBD


The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 **

CC BY-NC-SA 4.0 Icons

*https://hackyourfuture.net/*