Table of Contents generated with DocToc
A REST API application for managing expenses. Build your own automation—be it a Telegram bot 🤖, Discord bot, or your own app 📱!
🚨 Spoiler Alert! 🚨 We have built a Telegram bot as a proof of concept! 🤖🎉
https://github.com/user-attachments/assets/91fdf9e0-9489-4e05-ab61-a7599e5463e1
MoneyManager allows you to take control of your personal finances, providing insights into where your money goes and helping you make informed financial decisions. Whether you're looking to monitor daily spending or analyze broader trends, MoneyManager has the tools you need to stay on top of your finances.
Each tool is an essential part of the development and deployment process, enhancing functionality, reliability, and ease of collaboration.
To get started, you'll need to create a Telegram bot through BotFather:
/newbot
These instructions guide you through setting up the bot's communication and running it:
Clone this repository to your local system.
Open a terminal session in the directory where the project was cloned and install the required dependencies:
pip install -r requirements.txt
In the same directory, execute the following bash script to start the Telegram Bot:
./run.sh
OR
bash run.sh
When prompted, paste the API token you received from BotFather in step 4 of the pre-requisites.
A successful run will display the message: "TeleBot: Started polling."
In the Telegram app, search for your bot using its username, open it, and type /start or /menu to begin using MoneyManager for expense tracking!
This project uses pytest to test all functionalities of the bot:
Run the following command from the project's root directory to execute all unit tests:
python -m pytest test/
Currently, the project includes 100+ tests covering all bot functions.
Code coverage is assessed as part of each build. Every time new code is pushed, a build runs, and code coverage is computed.
To check code coverage locally:
coverage run -m pytest test/
coverage report
For users, no additional configuration is required—just start using MoneyManager!
For contributors, we’ve designed the system to be as modular as possible, so that updates to one module won’t impact others. However, there are a few configurable parameters available to help tailor and extend the system:
Alternatively, you’re welcome to submit a bug report in our repository. Make sure to follow the steps outlined in CONTRIBUTING.md for reporting issues.
Thank you for your interest in contributing to MoneyManager! Your contributions are greatly appreciated, and this guide will help you get started. For full details on contributing, please refer to the CONTRIBUTING.md file, which provides comprehensive instructions and guidelines.
By contributing to MoneyManager, you agree that your contributions will fall under the project’s open-source license. Please take a moment to review and understand the licensing terms before contributing. The specific license details can be found in the LICENSE file.
Listed alphabetically:
Please note that we have a Code of Conduct that all contributors are expected to uphold. This ensures that our community remains welcoming and inclusive for everyone.
Thank you for using MoneyManager! Follow this page to stay updated on new features and improvements.