Skip to content

ChaitanyaS182k/MyExpenseBot

Β 
Β 

Repository files navigation

TrackMyDollar V5.0 - MyExpenseBot

MIT license Platform GitHub DOI Build Status codecov GitHub issues GitHub closed issues GitHub contributors GitHub commit activity (branch) GitHub repo size Fork


Income and Expense tracking made easy!


Checkout our video :: Introduction :: New Features :: Installation Guide :: Testing :: Connect with authors :: TechnologyStack :: Use Cases

MyExpenseBot Documentation - Version 5.0

πŸ€– Welcome to MyExpenseBot 5.0 - Unleash the Power of Financial Wizardry on Telegram! πŸŽ‰

Introduction

MyExpenseBot has undergone a major transformation in Version 5.0, introducing groundbreaking features to redefine your financial experience. Explore the exciting enhancements that make managing your finances easier and more visually engaging.

πŸŽ‰ New Features

1. Simplify Group Expense

Effortlessly manage group expenses with the newly added feature. This includes the ability to add, and view expenses within a group setting, streamlining the process of collaborative financial tracking.

2. Visual Brilliance

Dive into a world of visual data representation with stunning pie charts and bar graphs. Visualize your income, expenses, and group expenses like never before, gaining deeper insights into your financial landscape.

3. Multi-Currency Marvel

MyExpenseBot now supports 17 additional currencies, offering you a diverse range of choices for your transactions. Benefit from lightning-fast local caching, ensuring swift currency value retrieval and a seamless user experience.

4. Time Travel Protection

Bid farewell to future-dated inputs for income and expenditure. MyExpenseBot 5.0 introduces Time Travel Protection, ensuring that your financial records stay rooted in the present.

5. Speed Boost

Enjoy a faster and more responsive MyExpenseBot with the implementation of Local JSON Caching. This enhancement drastically reduces API calls, providing lightning-fast currency value retrieval for a smoother user experience.

πŸ’‘ Why Use MyExpenseBot?

# Feature Description
1 Record Spending Add amount, category, and notes
2 Show Expenditure Sum Display total daily/monthly expenditure
3 Spending History View detailed history with date, amount, and category
4 Clear Records Erase all spending records for a fresh start
5 Edit Spending Details Modify specific entries (amount, category, or notes)
6 Recurring Expense Set up monthly contributions to a chosen category
7 Custom Categories Create/delete personalized spending categories
8 Budgeting Provide budget values for total expenses and categories
9 Visualization Implement pie charts and bar graphs for spending history
10 Income and Cash Flow Graphs Log income with graphs for tracking trends and cash flow
11 PDF Feature Record daily expenses and income in a downloadable PDF
12 Calendar Feature Store and edit income and expense dates
13 Summary Display Show categorized summary in descending order
14 Currency Support Allow users to choose preferred currency for conversion
15 Telegram Deployment Access the bot on Telegram (@testforbudgetmanagerbot)
16 Daily/Monthly Expense Tracking View expenses for better insights

πŸ›£οΈ What more can be done?

πŸ—ΊοΈ Exploring Further Possibilities

The journey of MyExpenseBot continues as we explore avenues for further improvements and enhancements. Check our issue list to discover ongoing tasks, proposed enhancements, and future plans to refine MyExpenseBot for an even better user experience.

πŸŽ₯ Checkout our video

Demo.mp4

Also you can watch the demo in better quality here


πŸ’» Technology Stack

The MyExpenseBot project leverages the following technologies:

  • Python 3.12: Utilized as the primary programming language for bot development.
  • Shell Scripting: Employed for automation and running project-related scripts.

πŸš€ Installation guide

The below instructions can be followed in order to set-up this bot at your end in a span of few minutes! Let's get started:

  1. Clone this Repository:

  git clone https://github.com/NCSU-Group70-CSC505-SE-Fall-23/MyExpenseBot.git
  1. Start a terminal session in the directory where the project has been cloned. Run the following command to install the required dependencies:

  pip install -r requirements.txt
  1. Create Your Telegram Bot:

  • Search for "BotFather" in Telegram.
  • Use /newbot to create a new bot.
  • Follow instructions, get a TOKEN.
  1. Update TOKEN in user.properties:

  • Open user.properties, update TOKEN.
  1. Run the Telegram Bot:

./run.sh (or) bash run.sh (or) sh run.sh 
  1. Paste the Telegram API token when prompted.

  2. A successful run will display "TeleBot: Started polling."

πŸ§ͺ Testing

We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is:

python -m pytest test/

Code Coverage

Code coverage is part of the build. Every time new code is pushed to the repository, the build is run, and along with it, code coverage is computed. This can be viewed by selecting the build, and then choosing the codecov pop-up on hover.

Locally, we use the coverage package in python for code coverage. The commands to check code coverage in python are as follows:

coverage run -m pytest test/
coverage report

πŸ“š Use Cases

1. Travel Expense Management

Imagine you're on a trip with friends or colleagues, and you want to keep track of all travel-related expenses. MyExpenseBot makes it effortless to log transportation costs, accommodation expenses, dining bills, and other travel expenditures. It helps in managing and splitting expenses among the travel group, ensuring everyone stays informed about the collective spending.

2. Freelancer Income Tracking

For freelancers managing multiple clients or projects, organizing income streams is crucial. MyExpenseBot can serve as a valuable tool to record various sources of income, categorize payments, and generate reports for each client or project. It simplifies financial tracking for freelancers, aiding in better invoicing and financial planning.

🌐 Connect with the Authors

  • Title: 'Track My Income and Expense'

  • Version: '5.0.1'

  • Description: 'An easy-to-use Telegram Bot to track everyday income and expenses'

  • Authors (Iteration 5): Nisarg, Chaitanya, Mitesh, Aniruddha

  • Authors (Iteration 4): Anvitha, Nainisha, Vaishnavi

  • Authors (Iteration 3): Vraj, Alex, Leo, Prithvish, Seeya

  • Authors (Iteration 2): Athithya, Subramanian, Ashok, Zunaid, Rithik

  • Authors (Iteration 1): Dev, Prakruthi, Radhika, Rohan, Sunidhi

About

CSC 510 Project III Repository for Group 70

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • Shell 0.7%