Chess game with AI and Room Hosting

$7.87 Cyber Monday $9.26

Code reviewed by PieceX
Support Included What’s included?
17 Sep,2020
User Guide Document


This product is built for PHP/MySQL web developers, who are passionate about creating a Chess game for online playing.

There are 4 options: Play with friend, Play with AI, Play in room and Set up the board

  1. Play with friend: Players press on the button "PLAY WITH FRIEND" on the front page and practice with friend.
  2. Play with AI: Players play directly on the front page. There are 4 levels: Newbie, Easy, Normal, and Hard.
  3. Play in room: Players press on the button "HOST A ROOM", host a new room with random Room code, and create a password for you and your friend, also capable of Inviting friend to play by sending the link. Players can also access the page "Rooms" to enter a hosted room. Players can choose White Side or Black Side, White moves first.
  4. Set up the board: Players press on the link "Set Up". In this option, players can arrange the chess pieces and press "CAPTURE THE BOARD" to challenge friends.

I. Requirements

  - PHP >= 7.2.5
  - BCMath PHP Extension
  - Ctype PHP Extension
  - Fileinfo PHP extension
  - JSON PHP Extension
  - Mbstring PHP Extension
  - OpenSSL PHP Extension
  - PDO PHP Extension
  - Tokenizer PHP Extension
  - XML PHP Extension
II. Installation
After you've downloaded the product and extracted the contents from the ZIP package, you can start the installation process.
 1/ Importing the database
  - Create a new MySQL database (optional).
  - Create a new MySQL username and password (optional).
  - Import the Database.sql file from the MySQL folder into your MySQL database.
 2/ Setting-up and uploading the files
  - With a text editor open the Script/.env and update the values of APP_NAME, APP_URL, DB_DATABASE, DB_USERNAME, DB_PASSWORD with your own information.

  - Edit the text that have the comment "CHANGE HERE".

  - Upload the contents inside the Script folder on the location where you want the product to be installed at, i.e. root folder (public_html or htdocs or www).
III. Web Server Configuration
  - Apache: You should leave the .htaccess in root folder and public folder as is.

In root folder:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ server.php

In public folder:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

  - Nginx:

server {
  listen 80;
  root /srv/;
  add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";

index index.php;

charset utf-8;

location / {
try_files $uri $uri/ /index.php?$query_string;

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }

error_page 404 /index.php;

location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;

location ~ /\.(?!well-known).* {
deny all;

Highest Price
Lowest Price
Average Price
AI Price Forecast
Start to Communicate (If you want to start communication with the seller about this item, you can start here)

We use cookies and other technologies to improve your experience on our website and to analyze our traffic. By browsing our website, you consent to our use of cookies and other tracking technologies.

Accept cookies and close this message