Jonas Laurens

  • Front-end Developer
  • Father of 2
  • Husband
  • Techie
  • Comic Enthusiast
  • Guitarist
  • Cinephile

Poker

Assignment

The assignment was to build a real-time, multiplayer poker game leveraging a Node.js backend server, a React frontend, Redux for state management, and Socket.io to establish persistent, real-time communication between clients and the server.


Gameplay & Architecture

Players log in to the virtual casino by providing a screen name, the server address they wish to connect to, and a table password, after which they are seated. The game automatically commences once four players are seated at the table.

The application implements standard Texas Hold’em rules, complete with blinds and dynamic betting rounds. On their turn, players can execute three actions: Call, Raise, or Fold. At the showdown, the server evaluates all remaining hands programmatically, determines the winner, and awards the pot.


Implementation & Results

I built the game server using Node.js and Socket.io. I started by building a headless simulation of the poker engine to verify the game loop and rules engine before adding any UI. Once the backend engine was fully stable, I built the React client, integrating a secure login flow and dynamic socket events to coordinate seating. After establishing a stable connection, I synced the backend game engine events with the frontend UI.

To maintain predictable state across complex game transitions, I managed all client-side state using Redux, leveraging Redux Toolkit to streamline the codebase and eliminate boilerplate.


Technologies used

react socket.io jest @redux/toolkit

I Learned

  • Real-time bidirectional event handling using Socket.io
  • Unit testing game logic with Jest
  • Predictable state management using Redux and Redux Toolkit
  • Writing complex algorithmic card evaluation logic in JavaScript

Solutions Found

  • Synchronizing real-time server events with a client-side React UI


Project Gallery


Other branches

E-commerce homepage showing the comic book collection grid
Detailed inventory overview filtering comics by publication series
Real-time search interface with instant results filtering

Hall of Justice

A serverless, zero-overhead storefront built to catalog and sell a massive personal collection, featuring real-time state synchronization and automated stock auditing.

View details
Sample of the Homepage
Sample of the new grader path
Sample of the pro grader path
Sample of the final result page

Comic Grading

An interactive web application that makes comic book grading accessible to collectors, estimating grades based on the industry-standard 10-point scale.

View details
Sample of the admin dashboard homepage
Sample of the comic detail view
Sample of the publisher management page
Sample of the user registration page
Sample of the series overview page
Sample of the user administration page

Hall of Justice

A virtual shortbox web application to catalog comic book collections, list duplicate issues for sale, and purchase missing issues from other collectors.

View details