[Devember 2021] PokerTrainer -- A poker playground

Project Summary

PokerTrainer is a set of tools necessary to run an online poker server (including a front-end) so it can be used to train poker bots and also allow humans to improve their poker skills playing against bots.

This project will take a lot of work to be done as it involves many components. I am not a very experienced coder and have never done a big project, I would love to receive feedback and suggestions on how I can properly architect this projectMy rough estimate of the main components involved are:

  1. Poker Table – This component acts essentially as a poker dealer, it will draw cards, serve them to the players, define which plays are valid or not, keep the count of chips for each player at the table and so on.

  2. Casino – This component is responsible for instantiating all of the tournament directors, keeping the user’s account balance, connecting users to tables, and generating tournament structures.

  3. Notebook – Database for the Poker Table, it will store every hand played.

  4. Tournament Director – Component responsible for generating tournaments, managing the Poker Table instances (for things like level change, schedule and so on). Still not sure if cash games will be handled by this or a different component.

  5. Vault – Database for user data, tournament data, balances and everything else, with the exception of Poker Table data.

  6. Back-office – Front-end for the server’s organizer.

  7. Poker Room – Front-end for players.

Devember 2021 challenge

My Devember 2021 goal is to work on the “Poker Table” and have it act as a dealer for Texas Hold’em games. Although it should also support other game types.

I will also take the challenge of learning Rust along the way, as I am not a rust developer and this project will be developed in Rust.

2 Likes

Quite the undertaking.

1 Like

Your project idea for PokerTrainer sounds really interesting and ambitious. I think breaking down the main components involved in the project is a good start and will definitely help you in planning and organizing your work, maybe it would be helpful to start small and build up your skills gradually.

Sorry for breaking into the discussion so late, but I have some ideas to share. I love the idea of a poker trainer that allows humans to improve their skills by playing against bots. It’s great that you’re taking on the challenge of learning Rust while working on this project. Also, since you mentioned that you’re not a very experienced coder, you may find more inspiration and ideas by checking out Online Glücksspiel Österreich. They provide an excellent selection of licensed online casinos with a wide variety of games, including poker. You could explore their platform to get ideas on the different games, tournaments, and features you could potentially incorporate into your project.