Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rollingghost/expense-tracker
A simple expense tracker application to manage your finances.
https://github.com/rollingghost/expense-tracker
Last synced: 23 days ago
JSON representation
A simple expense tracker application to manage your finances.
- Host: GitHub
- URL: https://github.com/rollingghost/expense-tracker
- Owner: rollingghost
- Created: 2024-09-04T16:49:59.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-09T15:19:06.000Z (5 months ago)
- Last Synced: 2024-11-09T04:15:46.099Z (3 months ago)
- Language: Rust
- Size: 69.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Expense Tracker
Build a simple expense tracker application to manage your finances. The application allows users to add, delete, and view their expenses, and provides a summary of the expenses.
## Project URL
[Expense Tracker Project](https://roadmap.sh/projects/expense-tracker)
## Features
- **Add Expense**: Users can add an expense with a description and amount.
- **Update Expense**: Users can update an existing expense.
- **Delete Expense**: Users can delete an expense.
- **View Expenses**: Users can view all expenses.
- **Summary**: Users can view a summary of all expenses.
- **Monthly Summary**: Users can view a summary of expenses for a specific month (of the current year).## Additional Features
- **Expense Categories**: Add expense categories and allow users to filter expenses by category.
- **Monthly Budget**: Allow users to set a budget for each month and show a warning when the user exceeds the budget.
- **Export to CSV**: Allow users to export expenses to a CSV file.## Commands and Expected Output
```sh
$ expense-tracker add --description "Lunch" --amount 20
# Expense added successfully (ID: 1)$ expense-tracker add --description "Dinner" --amount 10
# Expense added successfully (ID: 2)$ expense-tracker list
# ID Date Description Amount
# 1 2024-08-06 Lunch $20
# 2 2024-08-06 Dinner $10$ expense-tracker summary
# Total expenses: $30$ expense-tracker delete --id 1
# Expense deleted successfully$ expense-tracker summary
# Total expenses: $20$ expense-tracker summary --month 8
# Total expenses for August: $20
```## Implementation
You can implement the application using any programming language of your choice. Here are some suggestions:
- Use any programming language with a module for parsing command arguments (e.g., Python with `argparse`, Node.js with `commander`, etc.).
- Use a simple text file to store the expenses data. You can use JSON, CSV, or any other format to store the data.
- Add error handling to handle invalid inputs and edge cases (e.g., negative amounts, non-existent expense IDs, etc.).
- Use functions to modularize the code and make it easier to test and maintain.This project is a great way to practice your logic-building skills and learn how to interact with the filesystem using a CLI application. It will also help you understand how to manage data and provide useful information to users in a structured way. Good luck! :smile: