Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
21c79f4
chore: Adding the main source files.
tpanati Oct 1, 2023
4f0f09a
file name change
hbandar Oct 1, 2023
7bab82e
chore: Adding the user src files.
tpanati Oct 1, 2023
aee3957
Merge branch 'main' of https://github.com/vyshnavi-adusumelli/Finbot
tpanati Oct 1, 2023
5ed0074
chore: Add main source files.
tpanati Oct 1, 2023
e4f7bca
chore: Setup initial template using discord API (#19)
tpanati Oct 1, 2023
7722da8
add pickle file logic
hbandar Oct 2, 2023
eeadf1f
chore : add environment variables setup
hbandar Oct 3, 2023
2a1b6d4
Merge pull request #25 from vyshnavi-adusumelli/pickle_file_logic
hbandar Oct 3, 2023
23368af
chore: created add functionality with basic arguments (#26)
hbandar Oct 4, 2023
ea22e05
chore: add category dropdown functionality and enable user response f…
tpanati Oct 4, 2023
55b801a
Calendar menu for tasks add, edit, delete
Oct 4, 2023
cf66810
Merge pull request #27 from vyshnavi-adusumelli/user_Reply_category_d…
hbandar Oct 4, 2023
a3a1aef
Merge branch 'main' into Calendar_Menu
vyshnavi-adusumelli Oct 4, 2023
d9882d5
Merge pull request #29 from vyshnavi-adusumelli/Calendar_Menu
vyshnavi-adusumelli Oct 4, 2023
f40be51
Charts logic
Oct 7, 2023
7c77e59
fix issues for charts
Oct 7, 2023
ebc3708
takes start date and end date for start
Oct 7, 2023
a8806fe
chore: Add dropdown functionality and take the interaction response (…
tpanati Oct 7, 2023
7299f31
Merge branch 'main' into Feature_charts
vyshnavi-adusumelli Oct 7, 2023
e9c17d5
bot command resolve
Oct 7, 2023
5626b88
remove unnessesary files
Oct 7, 2023
c75ecd5
remove unnessesary files
Oct 7, 2023
461e969
remove unnessesary .idea files
Oct 7, 2023
9a5f91e
Merge pull request #31 from vyshnavi-adusumelli/Feature_charts
vyshnavi-adusumelli Oct 7, 2023
21f22c1
chore: Add budget command to allow user to set the budget. (#35)
tpanati Oct 7, 2023
ee97797
Update: Handle the error when budget is 0 or alphanumeric (#36)
tpanati Oct 7, 2023
044e7ef
add functionality implementation
hbandar Oct 7, 2023
7d635da
Merge branch 'main' into add_feature
hbandar Oct 7, 2023
71b2c3f
Merge pull request #37 from vyshnavi-adusumelli/add_feature
hbandar Oct 7, 2023
4850120
Please enter the commit message for your changes. Lines starting
hbandar Oct 7, 2023
aff4d9f
updates
hbandar Oct 7, 2023
9ef2cd0
Create .gitignore (#42)
tpanati Oct 7, 2023
737490b
Update: Create discordData directory (#41)
tpanati Oct 7, 2023
efea3ea
Delete src/data directory (#38)
tpanati Oct 7, 2023
0b28520
Merge pull request #43 from vyshnavi-adusumelli/delete_feature
hbandar Oct 8, 2023
7746123
update: menu functionality (#44)
tpanati Oct 8, 2023
9e7646e
update: change the prefix from / to #
tpanati Oct 8, 2023
f76a256
update: change the prefix from / to # (#45)
tpanati Oct 8, 2023
2d886e1
chore: add display functionality to view daily or monthly expenses.
tpanati Oct 8, 2023
3fe118e
Merge branch 'main' into menu_#
tpanati Oct 8, 2023
228015d
Merge pull request #46 from vyshnavi-adusumelli/menu_#
hbandar Oct 8, 2023
5ea88e7
updates to discord
hbandar Oct 9, 2023
0427bf5
bug fixes to previous code
hbandar Oct 9, 2023
c42655d
chore: basic code for edit feature
hbandar Oct 9, 2023
d10c15b
chore: edit cost of transaction feature
hbandar Oct 9, 2023
0069ccb
chore: create edit_category feature
hbandar Oct 9, 2023
d1cd4b5
create feature history
Oct 9, 2023
6501d84
change Exception messages
Oct 9, 2023
06e1636
delete unnessesary file
Oct 9, 2023
62a4774
Fix: Handle the error when user doesn't select from the dropdown. (#50)
tpanati Oct 9, 2023
f4ffb2a
Update: Include docstrings for few bot commands (#48)
tpanati Oct 9, 2023
040c1ca
dd gitignore files in Data folders
Oct 9, 2023
8bfafd2
Merge branch 'main' into Feature_history
vyshnavi-adusumelli Oct 9, 2023
3ffa68e
Merge pull request #52 from vyshnavi-adusumelli/Feature_history
vyshnavi-adusumelli Oct 9, 2023
eafe012
add proj folder
Oct 9, 2023
8fec41d
chore: edit_feature enhancement
hbandar Oct 9, 2023
c5dfb01
Update main.yml
vyshnavi-adusumelli Oct 10, 2023
180e535
Merge pull request #56 from vyshnavi-adusumelli/vyshnavi-adusumelli-p…
vyshnavi-adusumelli Oct 10, 2023
e24d7ca
Merge branch 'main' into edit_feature
hbandar Oct 10, 2023
1063322
Merge pull request #51 from vyshnavi-adusumelli/edit_feature
hbandar Oct 10, 2023
668ec18
Update main.yml
vyshnavi-adusumelli Oct 10, 2023
16eccfc
Update main.yml
vyshnavi-adusumelli Oct 10, 2023
43bcbd5
Update main.yml
vyshnavi-adusumelli Oct 10, 2023
86f6e19
resolve tests
hbandar Oct 11, 2023
2002b68
Test fix bug resolved
hbandar Oct 11, 2023
f98f8e0
Code Cleanup
hbandar Oct 11, 2023
ddbe8ac
Update bot_utils.py
vyshnavi-adusumelli Oct 11, 2023
a01d42c
Code Cleanup
hbandar Oct 11, 2023
dcf42e3
Merge branch 'main' into testing_telebot
hbandar Oct 11, 2023
9dead83
Merge pull request #58 from vyshnavi-adusumelli/testing_telebot
hbandar Oct 11, 2023
741c8c5
Update README.md
vyshnavi-adusumelli Oct 11, 2023
2916471
Update README.md
vyshnavi-adusumelli Oct 11, 2023
2af02c1
Update README.md
vyshnavi-adusumelli Oct 11, 2023
9104ead
Update README.md
vyshnavi-adusumelli Oct 11, 2023
2871701
cleaned the discordUser.py file
hbandar Oct 11, 2023
2b071ee
cleaned the discordBot.py file
hbandar Oct 11, 2023
955e56f
cleaning the discordBot.py file
hbandar Oct 11, 2023
e09c4c7
clean discordBot.py file
hbandar Oct 11, 2023
6f20711
add unit test cases
hbandar Oct 11, 2023
3b1edfc
Add Tests
Oct 11, 2023
f3ade64
Fix tests
Oct 11, 2023
8b366d1
Update requirements.txt
vyshnavi-adusumelli Oct 11, 2023
35b887f
modify requirements.txt
Oct 11, 2023
4325cbe
Update main.yml
vyshnavi-adusumelli Oct 11, 2023
7afe424
workflow change
Oct 11, 2023
31120aa
add telebot tests
Oct 11, 2023
e2d3550
add tests
Oct 12, 2023
10b0168
Merge branch 'main' into Discord_Bot_Test
vyshnavi-adusumelli Oct 12, 2023
4699447
Merge pull request #60 from vyshnavi-adusumelli/testing_telebot
hbandar Oct 12, 2023
11f0125
Merge pull request #59 from vyshnavi-adusumelli/Discord_Bot_Test
vyshnavi-adusumelli Oct 12, 2023
71ce14e
Update README.md
vyshnavi-adusumelli Oct 12, 2023
b147b8c
Update README.md
vyshnavi-adusumelli Oct 12, 2023
e731a3d
Update README.md
vyshnavi-adusumelli Oct 12, 2023
2341748
test case bug fixes
hbandar Oct 12, 2023
772d6fc
add display transaction testcase
hbandar Oct 12, 2023
1cdba1b
test case for edit functionality and bug fixes
hbandar Oct 12, 2023
cc3ad5a
write test cases for discord and telebot : budget utils functions
hbandar Oct 12, 2023
280e654
add test cases for validation and history util functions
hbandar Oct 12, 2023
5061c6d
bug fixes in test cases
hbandar Oct 12, 2023
f571ee1
cleaning discordUser.py file
hbandar Oct 12, 2023
7d89335
create doc strings for the add, edit and delete functionalities
hbandar Oct 12, 2023
6cf6612
chore: Run pylint step added in theCI config file
tpanati Oct 13, 2023
4c5a302
chore: Enable black code formatter
tpanati Oct 13, 2023
bea5b07
Merge branch 'main' into testing_telebot
vyshnavi-adusumelli Oct 13, 2023
7940c33
Merge pull request #62 from vyshnavi-adusumelli/testing_telebot
hbandar Oct 13, 2023
e466da9
Update README.md
vyshnavi-adusumelli Oct 13, 2023
d74402c
Fix: Pylint errors in teleBot
tpanati Oct 13, 2023
3b9142c
Fix: Remove f-string that does not have interpolated variable.
tpanati Oct 13, 2023
1b9d251
Fix: removed the redefined name from the outer-scope budget
tpanati Oct 13, 2023
29d624f
Fix: Unused exception variable
tpanati Oct 13, 2023
b9b182a
tests cleanup
Oct 13, 2023
d985b15
Fix: Fix unused strings in post_amount_input
tpanati Oct 13, 2023
88dfc89
Fix: unnecessary assignment of variables
tpanati Oct 13, 2023
601e1e0
cleanup
Oct 13, 2023
a0c8f5e
Fix: Unused libraries in discordBot
tpanati Oct 13, 2023
85eac25
Fix: pylint errors
tpanati Oct 13, 2023
b6cdadb
Fix: pylint errors
tpanati Oct 13, 2023
d06467b
chore: Run pylint step added in theCI config file
tpanati Oct 13, 2023
4a4dbaa
chore: Enable black code formatter
tpanati Oct 13, 2023
f88c7a2
Fix: Pylint errors in teleBot
tpanati Oct 13, 2023
c4c03e3
Fix: Remove f-string that does not have interpolated variable.
tpanati Oct 13, 2023
724ec7c
Fix: removed the redefined name from the outer-scope budget
tpanati Oct 13, 2023
71fcc60
Fix: Unused exception variable
tpanati Oct 13, 2023
576c970
Fix: Fix unused strings in post_amount_input
tpanati Oct 13, 2023
dea41b0
Fix: unnecessary assignment of variables
tpanati Oct 13, 2023
1c386ba
Fix: Unused libraries in discordBot
tpanati Oct 13, 2023
a0a08fc
Fix: pylint errors
tpanati Oct 13, 2023
857d5e1
Merge branch 'pylint' of https://github.com/vyshnavi-adusumelli/FinBo…
tpanati Oct 13, 2023
ffdcb0c
cleanup
Oct 13, 2023
6163e23
cleanup
Oct 13, 2023
af3cf12
cleanup
Oct 13, 2023
9a2bc57
Fix: Remove check from black.yml
tpanati Oct 13, 2023
08a27a1
cleanup
Oct 13, 2023
a37919a
Fix: Black formatter is run only on oush events and PR events in cont…
tpanati Oct 13, 2023
97e6080
chore: add other automated tools
tpanati Oct 13, 2023
44f8be6
Merge branch 'main' into Proj_Folder
tpanati Oct 13, 2023
9364ff8
cleanup
Oct 13, 2023
07d8245
add tests
Oct 13, 2023
3ff80b7
add tests
Oct 13, 2023
10b39da
add tests
Oct 13, 2023
7a15bad
clean tests
Oct 13, 2023
cc2698d
chore: Enable pylint as the syntax and style checker , black as the c…
tpanati Oct 13, 2023
d85417e
Merge pull request #55 from vyshnavi-adusumelli/Proj_Folder
vyshnavi-adusumelli Oct 13, 2023
17cdac3
Merge branch 'main' into Tests_cleanup
vyshnavi-adusumelli Oct 13, 2023
19dec0e
Revert "chore: Enable pylint as the syntax and style checker , black …
tpanati Oct 13, 2023
950a16c
Merge pull request #69 from vyshnavi-adusumelli/revert-67-pylint
tpanati Oct 13, 2023
7b36aac
Merge branch 'main' into pylint
tpanati Oct 13, 2023
f41b4c9
Fix: empty commit for pipeline trigger
tpanati Oct 13, 2023
780a1db
Merge pull request #70 from vyshnavi-adusumelli/pylint
vyshnavi-adusumelli Oct 13, 2023
cbed5c2
dummy commit to tests pylint
Oct 14, 2023
50bd2f1
fix pylint failure
Oct 14, 2023
e66a0e6
fix issues
Oct 14, 2023
fcefbc2
fix issues
Oct 14, 2023
9b60862
fix issues
Oct 14, 2023
f59dc4c
fix issues
Oct 14, 2023
18d0a9f
Merge branch 'main' into Tests_cleanup
vyshnavi-adusumelli Oct 14, 2023
beecd96
Merge pull request #65 from vyshnavi-adusumelli/Tests_cleanup
vyshnavi-adusumelli Oct 14, 2023
89fa673
Update CODE_OF_CONDUCT.md
vyshnavi-adusumelli Oct 15, 2023
cc729fd
Update CONTRIBUTING.md
hbandar Oct 15, 2023
b75b901
Update CONTRIBUTING.md
hbandar Oct 15, 2023
6192ade
Update CONTRIBUTING.md
hbandar Oct 15, 2023
d916b96
Update CONTRIBUTING.md
hbandar Oct 15, 2023
d096be8
Update CONTRIBUTING.md
hbandar Oct 15, 2023
21910af
Update CONTRIBUTING.md
hbandar Oct 15, 2023
06b493c
Update CONTRIBUTING.md
hbandar Oct 15, 2023
9616a16
docs: Add GIF images for add, budget, chart sample demos
tpanati Oct 15, 2023
c90cc4a
docs: Add gifs for few discord commands
tpanati Oct 15, 2023
c35ed01
docs: Add menu gif command
tpanati Oct 15, 2023
19d9419
docs: Add history gif command
tpanati Oct 15, 2023
afb642f
Chore: delete gif files for discord
tpanati Oct 15, 2023
f233a0d
docs: Add GIFs for all the discord commands
tpanati Oct 15, 2023
a9df29c
fix: remove delete command gif
tpanati Oct 15, 2023
9a84b06
docs: Fix delete command gif
tpanati Oct 15, 2023
bd02474
Update README.md
hbandar Oct 15, 2023
811f3e8
Update README.md
hbandar Oct 15, 2023
b570f0b
Update README.md
hbandar Oct 15, 2023
dbbff3d
Update README.md
hbandar Oct 15, 2023
0151cee
Update README.md
hbandar Oct 15, 2023
259438b
docs: update the motivation or story for finbot
tpanati Oct 16, 2023
76e96d0
docs: include what's new in the README.md
hbandar Oct 16, 2023
00966b8
docs: Update the sample demos or use cases for all finbot commands
hbandar Oct 16, 2023
d36c8ec
docs: fixing badges
hbandar Oct 16, 2023
45bfe56
docs: Update picture in contributors
tpanati Oct 16, 2023
22aac3b
docs: Update the docstrings in discordUser
tpanati Oct 16, 2023
9d01f1a
Fix: display timeout bug
tpanati Oct 16, 2023
e0d5ef1
fix: pylint errors
hbandar Oct 16, 2023
89d6142
docs: Add updated docstrings to discordUser
hbandar Oct 16, 2023
be0fa55
Fix: Update discordUser.py by removing spaces
hbandar Oct 16, 2023
e689798
Update README.md
hbandar Oct 16, 2023
ba847b9
Update README.md
vyshnavi-adusumelli Oct 16, 2023
c4f85ce
cleanup
Oct 16, 2023
6e2e1ef
cleanup
Oct 16, 2023
c740c9d
cleanup
Oct 16, 2023
6631184
cleanup
Oct 16, 2023
4378a30
Merge branch 'main' into Code_Cleanup
vyshnavi-adusumelli Oct 16, 2023
9422a2d
Merge pull request #74 from vyshnavi-adusumelli/Code_Cleanup
vyshnavi-adusumelli Oct 16, 2023
442cb03
Merge branch 'main' into discord_user
tpanati Oct 16, 2023
77f8434
Merge pull request #72 from vyshnavi-adusumelli/discord_user
tpanati Oct 16, 2023
6eb8348
Merge pull request #73 from vyshnavi-adusumelli/display_bug-1
tpanati Oct 16, 2023
ce4fee6
docs: Update README.md with setup
tpanati Oct 16, 2023
86ba73b
docs: Update future enhancements
tpanati Oct 16, 2023
4d83c33
docs: Upload project rubric
tpanati Oct 16, 2023
7ccc26a
docs: Delete proj/scorecard.csv
tpanati Oct 16, 2023
9ba7e1a
Merge pull request #75 from vyshnavi-adusumelli/tpanati-patch-1
tpanati Oct 17, 2023
87b4ae8
Add files via upload
tpanati Oct 17, 2023
acda0d9
docs: Update FinBot_proj2_scorecard.csv
tpanati Oct 17, 2023
a44de4f
docs: Create README.md in project2 folder
tpanati Oct 17, 2023
dc789fe
Update: add proj2 directory instead of proj
tpanati Oct 19, 2023
720a0b0
Merge branch 'main' into tpanati-patch-2
tpanati Oct 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
23 changes: 19 additions & 4 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
name: Lint
name: Format code

on: [push, pull_request]
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
lint:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: psf/black@stable
with:
options: "--check --verbose"
options: "--verbose"
src: "./src"
- name: Sort imports with isort
run: |
pip install isort
isort .
- name: Remove unused imports with autoflake
run: |
pip install autoflake
autoflake --in-place --remove-all-unused-imports --remove-unused-variables --recursive .
16 changes: 11 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ name: CI
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ pratik_testing ]
branches: [ main ]
pull_request:
branches: [ pratik_testing ]
branches: [ main ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down Expand Up @@ -53,13 +53,19 @@ jobs:
- name: Install pylint
run: |
pip install pylint
- name: Run pylint
run: |
pylint -r y src/
- name: Run tests
env:
API_TOKEN: ${{ secrets.API_TOKEN }}
CHAT_ID: ${{ secrets.CHAT_ID }}
DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}
CHANNEL_ID: ${{secrets.CHANNEL_ID }}
run: |
export PYTHONPATH=src
python -m pytest -v --cov=src/ --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,7 @@ dmypy.json
# Pyre type checker
.pyre/

temp.txt
temp.txt

# pickle files
.pickle
3 changes: 1 addition & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ representative at an online or offline event.
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
rsinha3@ncsu.edu.
reported to the community leaders responsible for enforcement.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand Down
109 changes: 51 additions & 58 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,101 +1,94 @@
# Contributing to SlashBot
# Contributing to FinBot

Follow the set of guidelines below to contribute to SlashBot!
Thank you for your interest in contributing to our project. Please make sure to read and follow these guidelines for a smooth and effective contribution process.

## Code of Conduct

By participating, you are expected to uphold this code. Please report unacceptable behavior to psomash@ncsu.edu or secheaper@gamil.com.
Everyone participating in this project needs to abide by the aPAS - A Personal Agile Scheduler Code of Conduct that can be found under the main repository link as a [CODE_OF_CONDUCT.md](https://github.com/vyshnavi-adusumelli/FinBot/blob/main/CODE_OF_CONDUCT.md) file. By participating, you are expected to uphold this code. Please report unacceptable behavior to any of the original team members listed at the bottom of [README.md](https://github.com/vyshnavi-adusumelli/FinBot/blob/main/README.md).

Prerequistes required before starting this project

1. Must be a graduate student at NC State University
2. Must be a student in Software Engineering Course in Fall 2021
3. Have proficiency in Python

## How can I Contribute -
## How can You Contribute

### Reporting Bugs

This section guides you through submitting a bug report for SlashBot.
Following these guidelines helps maintainers and the community understand your report, reproduce the behavior and find related reports.
This section guides you through submitting a bug report for FinBot. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior and find related reports.

Before Submitting A Bug Report
### Before Submitting A Bug Report

Check the debugging guide
- 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.
- Review the FAQs on the forum for common questions and problems.

Perform a cursory search to see if the problem has already been reported.
- Perform a cursory search to see if the problem has already been reported.

## How Do I Submit A (Good) Bug Report?
- When you are creating a bug report, please ensure that you include as many details as possible to understand the issue.

Use a clear and descriptive title for the issue to identify the problem.
### How Do I Submit A (Good) Bug Report?

Describe the exact steps which reproduce the problem in as many details as possible.
- Use a clear and descriptive title for the issue to identify the problem.

Provide specific examples to demonstrate the steps.
- Describe the exact steps which reproduce the problem in as many details as possible.

Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use Markdown code blocks.

Explain which behavior you expected to see instead and why.
- If the problem is related to performance or memory, then ensure that you include a CPU profile capture with your report.

Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem.
- 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.
- If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.

## Pull Requests
### Suggesting Enhancements

The process described here has several goals:
This section guides you through submitting a suggestion for FinBot, including completely new features and minor improvements to existing functionality.

Maintain the projects quality
Enhancement suggestions are tracked as GitHub issues. After you've determine your enhancement suggestion, create an issue on that repository and provide with information like title, step-by-step description, specific examples. Giving more detailed information will help us understand the suggestion better.

Fix problems that are important to users
Provide details like
- What is the enhancement?
- Suggestions to implement the enhancement

Enable a sustainable system for the projects maintainers to review contributions
We welcome suggestions to improve the bot; please add them to the TO-DO list.

## Tips to Extend
### Pull Requests

Check the Projects tab for TO-DO list and pick the feature you find interesting to work on.
Contributing through pull requests is essential for maintaining project quality. Here's how you can create a pull request:

Create a branch and implement the feature in Python using Telegram bot and test it locally.
- Check the Projects tab for the TO-DO list and pick/create a feature to work on.

Write corresponding test cases to ensure it is not breaking the existing system.
- Create a branch and implement the feature in Python, and test it locally.

Create pull request and request for the code review. Once the request is approved, merge to main.
- Write corresponding test cases to ensure it doesn't break the existing system.

- Create a pull request and request a code review. Once approved, merge it into the main branch.

Any suggestions to improve the bot is appreciated. Please add it to the TO-DO list.
Key features to pay attention to

## More tips for developers
### Heroku deployment
The bot is deployed on [Heroku](https://www.heroku.com/), a website used to host source code and apps.
- Maintain the projects quality

Quoted directly from their page:
- Fix problems that are important to users

- Enable a sustainable system for the projects maintainers to review contributions

- Add a description of the modification. Add images for the modification if possible.

- Insert a clear and descriptive title.

"Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud."
## Style Guides

### Git Commit Messages

#### Why this is useful
- Describe why any particular modification is being made.

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.
- Give a detailed description about the limitations of current code.

- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")

#### How we created the bot
- Limit the first line to 72 characters or less

1. A heroku account was created with the shared mydollarbot@gmail.com credentials
2. A new app was created called my_dollar_bot.
3. Within github, we added a [new action](.github/workflows/deploy.yml) to deploy to the heroku bot
4. For every push, the source code is deployed to heroku, and python code/bot.py is executed, starting the bot
- Link an issue to the change

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.
### Python Style Guides

#### How to develop the heroku bot server
All Python code is linted with Pylint. Ensure that before you commit any changes, your code passes all the default pylint checks and pipeline checks. Pylint can be installed with pip install pylint.

- Follow steps 1-3 above, except replace with your own email. Install Heroku cli [here](https://devcenter.heroku.com/articles/heroku-cli#download-and-install).
- Within github, add a secret for the heroku api key.
- Create a new CI/CD pipeline (refer our yaml file [here](.github/workflows/deploy.yml)) and set up github actions.
- Create a new Procfile and add `worker: python code/bot.py`. Refer ours [here](https://github.com/mtkumar123/MyDollarBot/blob/main/Procfile)
- 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` or `heroku logs -t`
## Need Additional Help?
Due to any reason, if you feel like you have reservations related to the process, feel free to reach us out at [vadusum@ncsu.edu] Github process can be a bit complex and we don't want to lose your valuable contributions because of that reason. We are extremely glad that you have visited us and will make our project much better.
Loading