Skip to content

πŸ“Š Python CLI Expense Tracker: A lightweight, command-line tool for personal finance management. Features dual interface (interactive/CLI), JSON persistence, and expense analytics. Perfect for developers seeking simple expense tracking. Built with Python, supports monthly summaries and data visualization.

License

Notifications You must be signed in to change notification settings

P-Nelly/roadmap-expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ROADMAP-EXPENSE-TRACKER

❯ A simple and efficient command-line expense tracking application built with Python

MIT License last-commit repo-top-language repo-language-count


Table of Contents


Overview

A command-line expense tracking application that helps users manage their personal expenses. The application provides both an interactive menu-driven interface and a command-line interface for adding, updating, deleting, and analyzing expenses. Data is persistently stored in JSON format, making it easy to backup and transfer.


Features

  • Dual Interface: Choose between an interactive menu-driven interface or command-line arguments
  • Expense Management:
    • Add new expenses with descriptions and amounts
    • Update existing expense details
    • Delete unwanted expenses
    • List all expenses in a tabulated format
  • Financial Analysis:
    • View monthly expense summaries
    • Calculate total expenses
  • Data Persistence: All expenses are automatically saved to a JSON file
  • Error Handling: Robust error handling for file operations and user inputs
  • Clean Interface: Terminal-clearing functionality for better user experience

Project Structure

└── roadmap-expense-tracker/
    β”œβ”€β”€ expenses.json
    └── main.py

Project Index

ROADMAP-EXPENSE-TRACKER/
__root__
main.py ❯ Main application file containing the expense tracker implementation
expenses.json ❯ JSON file storing the expense data

Getting Started

Prerequisites

Before getting started with roadmap-expense-tracker, ensure your runtime environment meets the following requirements:

  • Python: Python 3.6 or higher
  • Dependencies: tabulate package for table formatting

Installation

Install roadmap-expense-tracker using one of the following methods:

Build from source:

  1. Clone the roadmap-expense-tracker repository:
❯ git clone https://github.com/P-Nelly/roadmap-expense-tracker
  1. Navigate to the project directory:
❯ cd roadmap-expense-tracker
  1. Install the project dependencies:
❯ pip install tabulate

Usage

Interactive Mode:

❯ python main.py

Command Line Interface:

# Add an expense
❯ python main.py add --description "Groceries" --amount 50.50

# List all expenses
❯ python main.py list

# Show monthly summary
❯ python main.py summary --month 12

# Delete an expense
❯ python main.py delete --id 1

# Update an expense
❯ python main.py update --id 1 --amount 75.00 --description "Updated description"

Project Roadmap

  • Core Features: Basic expense tracking functionality
  • UI Improvements: Interactive menu-driven interface
  • Data Management: JSON-based data persistence
  • Data Export: Add CSV export functionality
  • Categories: Add expense categorization
  • Data Visualization: Add charts and graphs for expense analysis
  • Multi-currency Support: Add support for different currencies
  • Budget Management: Add budget setting and tracking

Contributing

  • πŸ’¬ Join the Discussions: Share your insights, provide feedback, or ask questions.
  • πŸ› Report Issues: Submit bugs found or log feature requests for the roadmap-expense-tracker project.
  • πŸ’‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/P-Nelly/roadmap-expense-tracker
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


Acknowledgments

  • Thanks to the Python community for the excellent libraries
  • Inspired by the need for a simple, efficient expense tracking solution
  • Built as part of a learning roadmap project: https://roadmap.sh/projects/expense-tracker

About

πŸ“Š Python CLI Expense Tracker: A lightweight, command-line tool for personal finance management. Features dual interface (interactive/CLI), JSON persistence, and expense analytics. Perfect for developers seeking simple expense tracking. Built with Python, supports monthly summaries and data visualization.

Topics

Resources

License

Stars

Watchers

Forks

Languages