Giter Site home page Giter Site logo

windler / chesspal Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.4 MB

Chess webserver for USB DGT e-Boards that can run on any hardware

License: MIT License

Go 44.29% Makefile 4.72% JavaScript 1.22% HTML 3.10% Vue 45.64% Shell 1.03%
chess dgt raspberry-pi eboard

chesspal's Introduction

Chesspal

Chesspal is a responsive webserver for USB DGT e-Boards. Its core features are to record chess games and play against configurable AIs.

Special thanks to:

Features

  • runs on any hardware, including Raspberry pi
  • record games played on USB DGT e-Board
  • play against configurable AI
  • manage played games (pgn)
  • import played games on Lichess for analysis
  • optional hints for best move
  • undo moves
  • optional evaluation of last move including "eval bar"
  • use DGT e-board "upside down" (flip ranks and files)
  • clients simply connect via http. You can view and manage your games on any device including smartphone

chesspal

chesspal

chesspal move feedback

chesspal game history

Sever flags

Flag Default Description
--config ./configs/chesspal.yaml Location of chesspals config file

Config file

The config file comes predefined with values suitable for a raspberry setup. You can add UCI chess engines together with UCI values to modify AIs or eval engines.

Rclone

In order to backup all played games automatically, chesspal can run rclone syncs at startup and game end. To enable this feature the config settings rclone.games must be set tu true. You can use rclone to sync the games folder with any supported remote, like Dropbox or Google Drive.

Development

Start server:

make run

Start and watch frontend:

make frontend

Create release bundle:

make release

Raspberry pi setup

The makefile ships with targets to easily setup a fresh Raspian installation. However, the arm binaries can be used for manual installation as well.

To setup a fresh Raspberry pi using makefile targets, add a .env based on .env.example. Further, create a config file configs/chesspal.raspi.yaml. A working golang and npm setup is required. Then you can run the following commands:

make release # to generate a new release bundle locally
make raspi-install-stockfish # if you would like to use stockfish
make raspi-install-fairy-stockfish # if you would like to use fairy-stockfish
make raspi-install-chesspal
make raspi-install-rclone # if you would like to use rclone

To debug the installation you can have a look into the logs

make raspi-logs-all

chesspal's People

Contributors

windler avatar

Stargazers

Felix Wagner avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.