risendy / chessExplorer

Symfony/Vuex application to view and analyse chess games

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of contents

General info

Symfony/vuex web based demo to explore/view chess games from the database.

Architecture

Entire front-end is made using Vue.js/Vuex using SPA architecture. Symfony framework acts as a backend API and is used to communicate with the database.

Technologies

Project is created with:

Features

  • importing pgn games into DB from pgn file using symfony command
  • displaying paginated games from the db
  • going through the games with next/prev buttons
  • displaying most popular moves in the current position
  • playing the position from the start (useful for opening preparation)
  • playing moves from the most popular moves in the position (useful for opening preparation)
  • basic filters (white/black player, game result)
  • favourite games
  • game sorting

To do

  • games searching
  • position searching
  • stockfish.js integration to analyse games

Installation

install composer dependencies

composer install

install frontend dependencies

yarn install

compile assets

yarn encore dev

run migrations

php bin/console doctrine:migrations:migrate

import games from pgn file using symfony command. The file should exists in the public directory. The command takes one input argument which is a name of the file eg. (games.pgn) For bigger files it may take a while (importing about 3 games per second)

php bin/console app:import-games --env=prod --no-debug {filename} 

if you want to use provided file with around 13k games use:

php bin/console app:import-games --env=prod --no-debug KingBase_part_1.pgn 

Screenshots

Opening book Game explorer Filters example Favourite games Displaying game info

About

Symfony/Vuex application to view and analyse chess games


Languages

Language:JavaScript 46.9%Language:PHP 35.3%Language:Vue 15.3%Language:Twig 1.4%Language:Shell 0.6%Language:CSS 0.6%