boldchess-web-app icon indicating copy to clipboard operation
boldchess-web-app copied to clipboard

Responsive web-based chess app and GUI for the Stockfish chess engine with analysis, evaluation, and graphs. It is the official BoldChess.com Chess App.

BoldChess Web App

Web GUI JavaScript Node.js Version Express.js Stockfish Chess Engine Mobile Ready Issues License

The official chess web-based app of the BoldChess.com website. It is a responsive web GUI for the Stockfish chess engine with analysis, evaluation, and graphs. It also comes with Leela Chess Zero (LCZero) neural network evaluation.


Mission

Our mission from this project is to develop a modern responsive free and open source web-based chess app powered by the Stockfish chess engine.


Live Demo On BoldChess.com

https://app.boldchess.com/


Features

  • Ability to load your chess position or game using FEN, PGN, or a move list.
  • Ability to set up your pieces manually in edit mode.
  • Ability to browse game history with arrows or mouse wheel.
  • Ability to list all legal moves and show them on the chessboard.
  • Ability to analyze positions and all legal moves with the javascript version of the Stockfish chess engine.
  • Ability to display an evaluation graph while visualizing blunders in different colors.
  • Ability to open a position or game in a new window via a given URL.
  • Ability to play against the computer (Stockfish Chess Engine) and set its difficulty level.
  • Ability to see an evaluation by the Leela Chess Zero (LCZero) neural network.
  • Ability to detect an opening category or ECO code.
  • Ability to choose the styling of the chessboard.
  • Ability to print arrows or mark squares on the chessboard.
  • Relevant squares on the chessboard are visualized according to the static evaluation terms of the Stockfish chess engine.
  • Dark interface with pitch black background that is battery-saving for OLED screens and highly intuitive.
  • Support for PCs, tablets, smartphones, and touch devices.

Available Windows

  • Chessboard
  • List of Moves
  • Game History
  • Graph
  • Chess Openings
  • Static Evaluation
  • Edit Board

GUI Instructions

  • To open your FEN or PGN, copy your FEN or PGN to clipboard and paste it in the input box above the chessboard.
  • To browse the game, use the mouse wheel on the chessboard or the arrow buttons.
  • To open or hide windows, click on the small icons found at the top of the GUI.
  • To play against the engine or set its difficulty level, click on the hamburger menu.
  • To change the styling of the board, flip the board, or open it in a new window, click on the hamburger menu.

Installation

  1. Prerequisites:

  2. Repository Setup:

    • Clone the repository to your local machine.
    • Navigate to the project directory.
  3. Dependency Installation:

    • Install the project dependencies by running:
      npm install
      
  4. Local Server:

    • Start the local development server:
      npm run start
      
    • Access the application by opening http://localhost:3000 in a web browser.

Server and Deployment

The application is designed to be easily deployable on any standard Node.js environment.

Running the Server: The main entry point of the application is server.js. This server serves the static files located in the public directory and does not require a build process for deployment. This design choice simplifies deployment and development processes.

No Build Required: Reflecting the application's simplicity and the direct use of vanilla JavaScript, the 'build' script in package.json is intentionally left minimal with echo 'No build required'. This is due to the application's architecture, focusing on serving static assets without the need for complex build processes or server-side rendering.


List Of Important Improvements & Issues

https://github.com/LabinatorSolutions/boldchess-web-app/issues


Contribution

We welcome all developers to contribute to this repository by adding features or fixing bugs. The source codes will always be free and open source.

List Of Current Contributors:

https://github.com/LabinatorSolutions/boldchess-web-app/graphs/contributors


License

GNU AFFERO GENERAL PUBLIC LICENSE (AGPLv3): https://www.gnu.org/licenses/agpl-3.0.html


Credits