Follow the set of guidelines below to contribute to TrackMyDollar!
By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
Prerequistes required before starting this project
- Must be a graduate student at NC State University
- Must be a student in Software Engineering Course in Fall 2021
- Have proficiency in Python
This section guides you through submitting a bug report for TrackMyDollar. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior and find related reports.
Before Submitting A Bug Report
Check the debugging guide
Check the FAQs on the forum for a list of common questions and problems. Determine which repository the problem should be reported in.
Perform a cursory search to see if the problem has already been reported.
Use a clear and descriptive title for the issue to identify the problem.
Describe the exact steps which reproduce the problem in as many details as possible.
Provide specific examples to demonstrate the steps.
Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
Explain which behavior you expected to see instead and why.
Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem.
If the problem is related to performance or memory, include a CPU profile capture with your report.
The process described here has several goals:
Maintain the projects quality
Fix problems that are important to users
Enable a sustainable system for the projects maintainers to review contributions
Check the Projects tab for TO-DO list and pick the feature you find interesting to work on.
Create a branch and implement the feature in Python using Telegram bot and test it locally.
Write corresponding test cases to ensure it is not breaking the existing system.
Create pull request and request for the code review. Once the request is approved, merge to main.
Any suggestions to improve the bot is appreciated. Please add it to the TO-DO list.
The bot is deployed on Heroku, a website used to host source code and apps.
Quoted directly from their page:
"Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud."
Before, users had to download source code, insert their API key from telegram, and then run the python file. This can lead to both user error and error within the source code. By deploying it on heroku, you ensure that the code is available anywhere, at anytime, without having to download files.
- A heroku account was created with the shared [email protected] credentials
- A new app was created called my_dollar_bot.
- Within github, we added a new action to deploy to the heroku bot
- For every push, the source code is deployed to heroku, and python code/bot.py is executed, starting the bot
This way, if users want to use the bot without developing, they can simply use this bot instead of having to run the application locally.
- Follow steps 1-3 above, except replace with your own email. Install Heroku cli here.
- Within github, add a secret for the heroku api key.
- Create a new CI/CD pipeline (refer our yaml file here) and set up github actions.
- Create a new Procfile and add
worker: python code/bot.py
. Refer ours here - Within your heroku dashboard, you can view logs for the bot to understand well the deployment is running. You can also run the command
heroku logs
orheroku logs -t