Skip to content

nata-kostina/evolution-ts-bootcamp-blackjack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 

Repository files navigation

“logo”

Blackjack

View Demo

Blackjack is a popular casino game. The rules of the game can be found here. The application is developed for a single-player mode and contains all basic functionalities of the game.

The objective of the project was to go through all steps of project development from planning to deploying, and to obtain practical skills in 3D graphics and state management using modern development tools.

Demo

Here is a working live demo: https://ts-bootcamp-blackjack-client.netlify.app/

Debug mode with mocked cards to test insurance and split: https://ts-bootcamp-blackjack-client.netlify.app/?debug=true

Features

🌟 implementation of the game logic in the backend part;

🌟 player's actions: hit, stand, double down, split, surrender;

🌟 possibility to take the insurance;

🌟 score calculations for soft and hard hands;

🌟 opportunity to perform different bet actions: place a bet, undo, reset, rebet, place all.

Built With

  • Typescript - a strongly typed programming language that builds on JavaScript.
  • React - a JavaScript library for building user interfaces.
  • MobX - state management tool.
  • Babylon.js - a real time 3D engine using a JavaScript library for displaying 3D graphics in a web browser via HTML5.
  • Node.js - an open-source and cross-platform JavaScript runtime environment.
  • Socket.IO - a library that enables real-time, bidirectional and event-based communication between the browser and the server.
  • React Testing Library - a very light-weight solution for testing React components.
  • Jest - a JavaScript testing framework.

Getting Started

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/nata-kostina/evolution-ts-bootcamp-blackjack.git

To start the server:

# Go into the repository server
$ cd server  

# Install dependencies
$ npm install
  
# Run the server
$ npm run start

The server will be listening at http://localhost:3000/.

To start the client:

# Go into the repository client
$ cd client

# Install dependencies
$ npm install 

# Run the app
$ npm run start

You will then be able to access the application at http://localhost:3001/.

Usage

As a player, firstly, you should choose the chips:

1.jpg

Click Bet to place a bet. If you want to edit your bet, choose the appropriate action:

2.jpg

When the cards are dealt, you may make a decision:

3.jpg

While splitting the cards, the arrow is indicating the hand which is currently active:

4.jpg

What else should be done

💡 implement game session storage on the backend

💡 put 3D model of the table

💡 add cameras

💡 implement multiplayer game

Contacts