iOS App

ExpenseTracker

ExpenseTracker is an elegant iOS application built with SwiftUI that provides users with a comprehensive solution for tracking, visualizing, and managing personal financial transactions. The app fetches transaction data from a remote API, processes and organizes it by date and category, and presents it through an intuitive interface featuring interactive charts, detailed transaction views, and hierarchical category management.

ExpenseTracker

Purpose

Serves as a demonstration of modern iOS development capabilities while providing a functional expense tracking solution. The app transforms raw transaction data into actionable insights by fetching data asynchronously, grouping transactions chronologically, calculating cumulative expenses over time, and visualizing spending patterns through interactive charts.

Key Features

Async Data Fetching

URLSession with Combine operators for reactive updates via @Published properties.

Data Visualization

SwiftUI Charts with LineChart for cumulative expense tracking over time.

Category System

Hierarchical categories with subcategories and FontAwesome icon integration.

Transaction Organization

Grouping by month with chronological display, section headers, and date-based filtering.

Transaction Detail

Comprehensive info display including merchant, date, institution, and category editing.

Expense Calculation

Date interval calculation with daily aggregation and running sum for chart data.

Reactive State

@EnvironmentObject for shared ViewModel with @Published properties for automatic UI updates.

Data Processing

Computed properties for signed amounts, date parsing, month extraction, and category resolution.

Tech Stack

frontend

SwiftUISwift 5.0+MVVMCombine frameworkSwiftUIChartsSwiftUIFontIconNavigationStack

backend

JSON API endpointURLSession with Combine

infrastructure

OrderedDictionaryDateFormatter extensionsCustom data processing