An open API service indexing awesome lists of open source software.

https://github.com/p-nelly/roadmap-expense-tracker

📊 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.
https://github.com/p-nelly/roadmap-expense-tracker

budgeting cli cli-app command-line expense-management finance finance-management finance-tools json money-management personal-finance python python-cli tabulate terminal

Last synced: 4 months ago
JSON representation

📊 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.

Awesome Lists containing this project

README

        



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](#overview)
- [ Features](#features)
- [ Project Structure](#project-structure)
- [ Project Index](#project-index)
- [ Getting Started](#getting-started)
- [ Prerequisites](#prerequisites)
- [ Installation](#installation)
- [ Usage](#usage)
- [ Project Roadmap](#project-roadmap)
- [ Contributing](#contributing)
- [ License](#license)
- [ Acknowledgments](#acknowledgments)

---

## 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

```sh
└── 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:
```sh
❯ git clone https://github.com/P-Nelly/roadmap-expense-tracker
```

2. Navigate to the project directory:
```sh
❯ cd roadmap-expense-tracker
```

3. Install the project dependencies:
```sh
❯ pip install tabulate
```

### Usage

**Interactive Mode:**
```sh
❯ python main.py
```

**Command Line Interface:**
```sh
# 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

- [X] **`Core Features`**: Basic expense tracking functionality
- [X] **`UI Improvements`**: Interactive menu-driven interface
- [X] **`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](https://github.com/P-Nelly/roadmap-expense-tracker/discussions)**: Share your insights, provide feedback, or ask questions.
- **🐛 [Report Issues](https://github.com/P-Nelly/roadmap-expense-tracker/issues)**: Submit bugs found or log feature requests for the `roadmap-expense-tracker` project.
- **💡 [Submit Pull Requests](https://github.com/P-Nelly/roadmap-expense-tracker/blob/main/CONTRIBUTING.md)**: 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.
```sh
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.
```sh
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.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to github**: Push the changes to your forked repository.
```sh
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) License. For more details, refer to the [LICENSE](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

---