Skip to content

Architecture

Collins Dada edited this page Apr 22, 2025 · 2 revisions

Architecture

The architecture of Expense Tracker is designed to be clean, modular, and student-developer friendly. This is how all the moving parts sync all up.


🧠 Core Components

Module Description
app.py Main entry point. Ties everything together.
backend/ Handles income/expense data, filtering logic, calculations.
data/ Stores user session data in local files (JSON/CSV).
ui/ Streamlit layout logic, input widgets, and chart rendering.

🧩 Architecture Breakdown

1. Backend Layer

  • Written in Python

  • Uses Pandas for data manipulation

  • Functions include:

    • add_income()

    • add_expense()

    • load_data()

    • filter_data()

2. Data Storage

  • JSON files used for local storage

  • Optimized to be storage-lite

  • Easy to extend into cloud (Firebase, Supabase, etc.)

3. UI Layer (Streamlit)

  • Renders user input fields, charts, filters

  • Reacts to changes in real-time

  • Responsive and intuitive flow for users

4. Visualization Layer

  • Uses Matplotlib + Plotly to render:

    • Pie Charts

    • Bar Graphs

    • Line Charts

  • All updates reflect user interactions instantly


🔐 Security & Privacy

  • No third-party storage by default

  • All data saved locally

  • No analytics, tracking, or shady background jobs


Clone this wiki locally