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.
- Host: GitHub
- URL: https://github.com/p-nelly/roadmap-expense-tracker
- Owner: P-Nelly
- License: mit
- Created: 2024-12-19T21:15:56.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-12-21T23:22:18.000Z (6 months ago)
- Last Synced: 2025-01-10T03:03:32.970Z (5 months ago)
- Topics: budgeting, cli, cli-app, command-line, expense-management, finance, finance-management, finance-tools, json, money-management, personal-finance, python, python-cli, tabulate, terminal
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
ROADMAP-EXPENSE-TRACKER
❯ A simple and efficient command-line expense tracking application built with Python
![]()
![]()
![]()
![]()
## 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---