8000 GitHub - Feromond/budget_tracker_tui: A simple TUI budget tracker app built in rust. Designed to track income and expenses and help visualize and gather basic insights from your transactions.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A simple TUI budget tracker app built in rust. Designed to track income and expenses and help visualize and gather basic insights from your transactions.

License

Notifications You must be signed in to change notification settings

Feromond/budget_tracker_tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Budget Tracker TUI

Budget Tracker Logo

A fast, modern, and efficient Terminal User Interface (TUI) application for tracking your personal budget, built with Rust and Ratatui.

๐Ÿ“š Table of Contents

๐Ÿ–ผ๏ธ Screenshots

main_view_tui
Main transaction view with summary bar and help

Cate Summary
Category summary with expandable/collapsible categories
Main Daily Chart
Monthly summary with interactive chart and budget line

SEE MORE SCREENSHOTS HERE <>

Click to see all monthly summary screenshots

Multi-month Line Chart
Multi-Month Line chart

Cumulative Chart
Cumulative chart with budget line

Cumulative+multi_chart
Cumulative and multi month chart

โœจ Features

  • Intuitive Terminal UI: Manage your finances directly from your terminal with a clean, responsive interface (TUI).
  • Transaction Management: Add, view, edit, and delete income and expenses.
  • Recurring Transaction: Setup transactions that automatically recur at select frequencies.
  • Advanced Filtering: Filter transactions by date, description, category, type, and amount (including advanced multi-field filters).
  • Categorization: Built-in, hierarchical categories and subcategories for all transactions.
  • Summaries & Charts: Visualize your spending/income by month and by category, with interactive charts and tables.
  • Budget Tracking: Set a monthly target budget and see your progress (including a budget line in summary charts).
  • Data Persistence: All data is stored locally in a configurable CSV file. Settings are saved in a config file.
  • Cross-Platform: Runs on Windows, macOS, and Linux.
  • Keyboard-Driven: Fully operable with keyboard shortcuts for every action and mode.
  • Robust CSV Support: Flexible date parsing, easy import/export, and Excel compatibility.
  • Built with Rust: Safety, speed, and reliability.

๐Ÿš€ Getting Started

Windows Installer (Recommended for Windows Users)

If you are on Windows, you can download and run the latest installer for a quick and easy setup. This is the simplest way to get started on Windowsโ€”no Rust or Cargo required!

Prerequisites (for manual/cargo install)

  • Rust (includes cargo)

Installation & Running

Build and Run Manually:

# Clone the repository
git clone https://github.com/Feromond/budget_tracker_tui
cd budget_tracker_tui

# Build the project (use --release for optimized build)
cargo build --release

# Run the executable
./target/release/Budget_Tracker

Install Globally with Cargo (Recommended for Linux/macOS):

# Navigate to the project directory
cd budget_tracker_tui

# Install the binary to Cargo's bin directory
cargo install --path .

After installation, the Budget_Tracker command should be available in your terminal directly.

Optional Tip: For even quicker access, set up a shell alias:

# Example for bash/zsh (add to your .bashrc or .zshrc)
alias bt='Budget_Tracker'

Then, you can just type bt to launch the app.

โšก Quick Start

  1. Launch the app: Budget_Tracker (or bt if you set up the alias)
  2. Add a transaction: Press a, fill in the fields, and press Enter to save.
  3. Navigate: Use โ†‘/โ†“ to move, e to edit, d to delete, f to filter, r to manage recurring transactions.
  4. View summaries: Press s for monthly summary, c for category summary.
  5. Change settings: Press o to open settings (change data file path, set target budget).
  6. Quit: Press q or Esc.

โš™๏ธ Settings & Configuration

  • Data File Path:
    • The path to your transactions.csv file is configurable in-app (press o for settings).
    • Default locations: - Linux: $XDG_DATA_HOME/BudgetTracker/transactions.csv (usually ~/.local/share/BudgetTracker/transactions.csv) - macOS: ~/Library/Application Support/BudgetTracker/transactions.csv - Windows: %APPDATA%\BudgetTracker\transactions.csv (e.g., C:\Users\<YourUsername>\AppData\Roaming\BudgetTracker\transactions.csv)
  • Target Budget:
    • Set a monthly target budget in settings. This will show a budget line in summary charts.
  • Config File:
    • The application's settings are saved in a config.json file, which is stored in your OS's config directory:
      • Linux: ~/.config/BudgetTracker/config.json
      • macOS: ~/Library/Application Support/BudgetTracker/config.json
      • Windows: C:\Users\<YourUsername>\AppData\Roaming\BudgetTracker\config.json
    • This is separate from the data file location, which is in your OS's data directory (see above).

๐Ÿ“ Data & CSV Format

  • CSV Columns: date, description, amount, transaction_type, category, subcategory
  • Date Format: Flexible! Accepts YYYY-MM-DD, YYYY/MM/DD, DD/MM/YYYY, or DD-MM-YYYY.
  • Transaction Type: Income or Expense (case-insensitive, also accepts i/e)
  • Category/Subcategory: Must match the built-in set of categories and subcategories provided by the application. Custom or arbitrary categories are not currently supported.
  • Import/Export: You can edit the CSV in Excel/LibreOffice or import from other tools (just match the columns and use valid categories).
  • Data Safety: The app will not overwrite your CSV unless you save a transaction, close the program, or change settings.

References

Ratatui Rust

About

A simple TUI budget tracker app built in rust. Designed to track income and expenses and help visualize and gather basic insights from your transactions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0