By Jaron Degen - Check out Jackpot Degen
- Poker Room Jackpot Tracker and Poker News
Table of Contents
- Jackpot Degen Overview
- Application Architecture & Technologies Used
- Backend Overview
- Frontend Overview
- Security & Authorization
- Conclusion & Future Features
Jackpot Degen is a full-stack web app that allows users to make an account, find and subscribe to thier favorite poker rooms around the country and, actively follow and report on current bad beat jackpots. Users can also leave reviews for casinos and poker rooms and get access to up to date poker news via PokerNews RSS converted into an interactive news feed.
Users can also leave reviews for casinos and poker rooms and get access to up to date poker news via PokerNews RSS converted into an interactive news feed.
Jackpot Degen also features an suggesstive search bar built from scratch using React and using vanilla CSS
Jackpot Degen is a full stack application and starts with the database in the backend built with Sequelize, Express, using a PostgreSQL database.
All data is fetched from the Express server, including queries to the database. The news comes from an RSS feed in XML format from pokernews.com and then stored throughout multiple layers of the Redux store along with subscriptions, jackpots auth and other user information. This gives users quicker load times since data is only retireved as necessary or when something in the user's dashboard changes. Only data needed is retrieved, for example, jackpot data histories are only fetched if it is not already in the Redux store and the user is on a page requiring it, saving memory and increasing efficiency.
As stated before React is used and is at the core of application logic and frontend architecture. Many built-in React Hooks are used to aid in passing data around throughout components as well as Redux and Redux Hooks and Redux Thunk and regular props. All of the design and animation is done with vanilla CSS, Chartjs and, makes use of conditionals in React based on what the user is currently interacting with.
The most recent feature that was implemented was the 'Odds Calculator', allowing users to plug in up to 4 poker hands to see each player's chances of winning the hand, step by step. This was done using a combination of npm packages that handle SVG images of the card faces and use simple logic to determine percentages based on the 52 cards in the deck (images, logic) and a little CSS finess to create a gratifying and responsive UI.
Jackpot Degen has also been built with mobile support for devices with smaller width screens. This was done with CSS media queries and conditional React components.
Express, express-validator and,bcrypt are utilized for setting users login sessions in the backend and to handle hashed passwords.
Jackpot Degen was my first solo full-stack project and incredibly helpful in my ongoing quest to master react and express. I have been playing poker my entire life and come from a family of poker players. Finding the poker room with the highest current jackpot has always been a struggle and currently the only way to accomplish this, is to call each room one by one. If you are in a unfamiliar city this is a near impossible feat. This is the reason I felt inspired to built Jackpot Degen and I hope to continue to improve this project and one day release it for scalable usage to poker players everywhere.
For features that I plan for the future please keep reading and check out my stretch goals.
Thanks for checking out Jackpot Degen!
✓ Landing page/homepage that includes information about site and a form to signup/login.
✓ Sign-Up form where users submit their username email, and home city, and create a password.
✓ Log-in page where users provide their email/username and password to log into the site.
✓ Sign-out feature where session cookie is deleted and user is redirected to sign-in page.
✓ A viewable table of current jackpots, with ability to filter by user's home city.
✓ A viewable card room details page.
✓ A viewable dashboard of subscribed card rooms and jackpots.
✓ Ability to subscribe and unsubscribe to card rooms.
✓ Ability to report current Jackpots and report when a Jackpot is hit for any subscribed card rooms.
✓ Display current poker news.
✗ Ability to request site operator to add card rooms that are not currently listed on the app.
✗ Google Map API showing card rooms based on location.
✗ Suggestions based on user city and user profile. As a typical user, I want to receive suggestions of card rooms in my city.
✗ Adjust event details for local time zones.
✓ Allow users to undo a jackpot report.
✓ Search functionality of card rooms