Skip to content

piyush1prasad/CSC510_Group29_Project3

 
 

Repository files navigation

💰 TrackMyDollar V3.0 - Budget On The Go(BOTGo) 💰


Tracking expenses made easy!


MIT license Platform GitHub GitHub contributors DOI Build Status CI Lint Python codecov GitHub issues GitHub closed issues

Fork


About TrackMyDollar

TrackMyDollar is an easy-to-use Telegram Bot that assists you in recording your daily expenses on a local system without any hassle With simple commands, this bot allows you to:

  • Add/Update/View/Delete Income
  • Add/Record a new spending
  • Add/Update/View/Delete Budget
  • Show the sum of your expenditure for the current day/month
  • Display your spending history
  • Summary report of all expenses done till date
  • Clear/Erase all your records
  • Edit/Change any spending details if you wish to
  • Add expense to any date on the calendar
  • Add expense in any currency

What's new? (From Phase 3 to Phase 4)

-Add to Calendar: This functionality lets uusers add an expense to any date from the Calendar. In the older version of this software, the expense would get added by default to the current date.

-Currency Type: This feature lets user record their expenses in a variety of currencies. In the older version, the expense could only be recorded in USD.

What more can be done?

Please refer to the issue list available here to see what more can be done to make MyDollarBot better. Please refer to the MyDollarBot project present here to have a look at the tasks to be done, tasks currently in progress and tasks already done.

Demo

Watch the video

Score Cards

Here are the scorecards

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 to your local system.

  2. Start a terminal session in the directory where the project has been cloned. Run the following command to install the required dependencies:

  python3 -m pip install fpdf
  pip install -r requirements.txt
  1. In Telegram, search for "BotFather". Click on "Start", and enter the following command:
  /newbot

Follow the instructions on screen and choose a name for your bot. After this, select a username for your bot that ends with "bot".

  1. BotFather will now confirm the creation of your bot and provide a TOKEN to access the HTTP API - copy and save this token for future use.

  2. In the directory where this repo has been cloned, please run the below command to execute a bash script to run the Telegram Bot:

   ./run.sh

(OR)

   bash run.sh

Please note that it will ask you to paste the API token you received from Telegram in step 4. A successful run will generate a message on your terminal that says "TeleBot: Started polling."

  1. In the Telegram app, search for your newly created bot by entering the username and open the same. Now, on Telegram, enter the "/start" or "/menu" command, and you are all set to track your expenses!

Walktrough

Add in Calendar: Steps:

  1. Enter /menu
  2. Enter /add_in_calendar OR Press on /add_in_calendar in the menu
  3. Click on the date of your choice
  4. Select from the Category of expenses
  5. Enter the ammount and click enter! You will get a confirmation message

Changing Currency Type: Steps:

  1. Enter /menu
  2. Select /curr_type from the menu or type /curr_type
  3. Select from the variety of options available
  4. You will get a confirmation message.

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

Troubleshoot:

  1. While running the project an error may arise stating fpdf Module not found eventhough it is installed in such case uninstall fpdf using pip uninstall fpdf upgrade pip and install using the provided command pip.
  2. While running the test cases if an error arrises then run pytest command to run the testcases.

Notes:

You can download and install the Telegram desktop application for your system from the following site: https://desktop.telegram.org/

Chat with us

Join our Discord


Title:'Track My Dollar'

Version: '4.1'

Description: 'An easy to use Telegram Bot to track everyday expenses'

Authors(Iteration 5):'Piyush, Raaj, Ameaza'

Authors(Iteration 4):'Tulasi, Siddartha, Yogitha, Deepika'

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 Repository for Group 29

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • Shell 0.7%