Skip to content

shrishty19/dollar_bot

 
 

Repository files navigation

💰 MyDollar Bot 💰

Table of Contents
  1. Why should you use Dollar Bot?
  2. Check out the video!
  3. What is new in this version?
  4. Installation
  5. Testing
  6. Code Coverage
  7. License
  8. Code Documentation
  9. How to Contribute
  10. Future RoadMap
  11. Contributors
  12. Acknowledgements

Dollar BoT


ForTheBadge built-with-love

MIT license Platform GitHub GitHub contributors DOI Build Status codecov

GitHub issues GitHub closed issues Lines of code


Why should you use MyDollar Bot?

Dollar Bot 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/Record new spendings
  • Display your spendings through bar graph
  • Show the sum of your expenditure for the current day/month
  • Display your spending history
  • Clear/Erase all your records
  • Edit/Change any spending details if you wish to

Check out the video!

Demo Video

What is new in this version?

Checkout the this documentation

Installation

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:

  pip install -r requirements.txt

  1. Download and install the Telegram desktop application for your system from the following site:
https://desktop.telegram.org/

How to run?

  1. In Telegram, search for "BotFather". Click on "Start", and enter the following command:
  /newbot
  1. Follow the instructions on screen and choose a name for your bot (e.g., dollarbot). After this, select a username for your bot that ends with "bot". The username has to be unique.

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

  3. In the repo directory (where you cloned it), run these commands to (i) grant execution access to a bash script, and (ii) execute that bash script to run the Telegram Bot:

   chmod a+x run.sh
   ./run.sh

(OR)

   chmod a+x run.sh
   bash run.sh

Note: 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!

Run Automatically at Startup

To run the script automatically at startup / reboot, simply add the .run_forever.sh script to your .bashrc file, which executes whenever you reboot your system.

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

License

This project is licensed under the terms of the MIT license. Please check License for more details.

Code Documentation

Checkout the docs

How to Contribute

We would be happy to receive contributions! If you'd like to, please go through our CONTRIBUTING.md

For any feedback, issues, or bug reports, please create an issue here.

Future RoadMap

  • More content can be added for the way notifications can be displayed on the user front. This can be done to make the UI more interactive.
  • Recurring expenses feature can be added for faster addition of expenses instead of following the whole process of everytime.

Contributors


Usman Khan

Aakriti Aakriti


Suneha Bose


Muskan Gupta


Kriti Khullar

Acknowledgements

  • We would like to express our gratitude 🙏🏻 and a big thank you 😇 to Prof. Dr. Timothy Menzie for giving us the opportunity to get into the shoes of software building and learning new skills and development process throught the project building.
  • A big thank you 😊 to the Teaching Assistants for their support.
  • Thank you to the previous team 😊 for a thorough ReadMe and deatiled documentation.MyDollarBot
  • Thank you to the ⭐️Telegram bot

About

Telegram bot to track your expenses.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 68.7%
  • Python 31.0%
  • Shell 0.3%