Skip to content

This project was created as a submission to HackCWRU and won Most Creative Use of GitHub. Team Members: Jonathan Lo, Eric Wang, Bryton Lee, and Ajay Ahooja.

Notifications You must be signed in to change notification settings

jonathanlo411/hackCWRU

Repository files navigation

HackCWRU Submission

This project was created as a submission to HackCWRU and won Most Creative Use of GitHub. The submission can be found here. Team Members: Jonathan Lo, Eric Wang, Bryton Lee, and Ajay Ahooja.

TipShip

TipShip, with just a few commands and clicks, the user can pay another user in the server a designated amount of money. The bot will create an order through Paypal, and the user can simply login and execute the payment. This discord bot is also accompanied by a web app that displays the user's transactions, spending's and earnings, and analysis with predictions on future spending trends.

Inspiration

We play MMO games regularly, using Discord voice channels to communicate, and we have often wanted to sell each other legendary or rare equipment. Instead of opening Venmo or remembering to pay our friends the next time we see each other (shoutout the pandemic), we wanted a quick, easy, and safe way to send money through platforms that we already regularly use. Many game platforms do not support players exchanging real currency to each other, so the next best thing for us is Discord, and I'm sure many other gamers have felt the same way!

Tech Stack

The backend is in Python utilizing the Django framework. The front end is a mix of HTML/CSS and JavaScript. We use Jquery AJAX requests to asynchronously update the front end. Moreover, we use Chart.js to create a chart of spending over a period of time. The ML analysis and pipline utilize scikit-learn. The database is running on a GCP MySQL instance.

The discord bot lives on a Flask runtime and utilizes it to GET and POST to our Django WebApp utilzing an open CORS policy and built API endpoints. Moreover, it utilizes PayPal's REST SDK to securely transfer payments.

Code Flow:

Running

  1. Clone the repository.
  2. Install pipenv and the dependencies in Pipfile.
  3. Launch pipenv enviroment using:
pipenv shell
  1. Create a config.json and input Client IDs, Secrets, and Tokens according to config.json.example. You will need PayPal and Discord credentials.
  2. Connect Google Cloud Platform MySQL instance using official documentation.
  3. Start local server using:
python3 manage.py runserver
  1. In a different terminal, launch TipShip Discord Bot by running notebooks/flask_server.py concurrently with notebooks/test_script.py.

About

This project was created as a submission to HackCWRU and won Most Creative Use of GitHub. Team Members: Jonathan Lo, Eric Wang, Bryton Lee, and Ajay Ahooja.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •