Inspiration

We have been passionate poker players and have run into the common problem of distributing the payout in a real-life poker game. This problem can often become complicated, especially when trying to keep track of who owes what and making sure that everyone receives the correct amount. We wanted to find a solution to this problem and simplify the process of distributing the payout in a poker game. This inspired us to create the Poker Payout System, which helps players keep track of their winnings and minimize the transactions needed to payout the winner(s).

What it does

This poker payout system is designed to help players keep track of their winnings and minimize the transactions needed to payout the winner(s). The system takes in player names, the total amount bought in, and the final chip amount, which can be entered into text boxes and submitted using a submit button.

How we built it

The system uses a combination of C++ and JavaScript on the back end and HTML and CSS on the front end. The input data is collected and processed into nodes, which are then inserted into maximum binary heaps. The two heaps represent players who have a net gain and players who have a net loss. The system compares the two root nodes to simulate payment transactions and minimize the number of transactions needed to payout the winner(s).

Challenges we ran into

During the first fifteen hours of the challenge, our implementation and design were based on C++ language, and originally planned on creating a backend database to support and store our information for multiple dates. However, with 3 first-time hackers and not much knowledge of past object-oriented-based programming, these challenges soon began to pile up. Realizing the lack of ability and out-of-date resources for a C++ back-end supported system, we immediately came to a crossroads and made a developmental change in our technology. By eliminating some features including the back-end database and API implementation, we switched our efforts to translating our C++ back-end files to javascript. Taking up the majority of the last half of our time and finishing the translations, we touched up our UI and finished the application with a working UI and calculations.

Accomplishments that we're proud of

We took on the challenge of making a last-minute decision to not use an API to connect the front end and back end but rather to translate our code from C++ to Javascript smoothly. After numerous trials and errors, we were able to come up with a multitude of edge cases to ensure that there wouldn't be any niche inputs that could potentially harm the program and cause a crash. After wrapping up the project we found that there were opportunities to improve the UI to better engage the users while at the same time minimizing any potential input errors.

What we learned

By working on the Poker Payout System project, we were able to get a better understanding of HTML and CSS for creating user-friendly interfaces in a clear, concise format. On the backend, we got a better understanding of maximum binary heaps and how to use them to sort and process data in an efficient manner.

What's next for Poker Payout Pro

What's next for Poker Payout Pro? The next time the dream team reconvenes, the main focus will be the implementation of the database and the creation of an API. The main benefits of these improvements will provide an opportunity to show the history of each player to keep and record their cash-out history. This will allow to maintain a record of each player's history and create a leaderboard network.

Share this project:

Updates