Generate classifications for your Chess moves, for free. Available @ chess.wintrcat.uk
Enter a game by its PGN or pick a game from your Chess.com / Lichess.org account and have it analysed so that you can see where your mistakes and brilliancies are.
- Node.js 20.x runtime or later.
- TypeScript package installed globally.
- Download the source code using
git clone
or download as ZIP. - Open the root directory of the project in a terminal.
- Run
npm i
to install all of the necessary dependencies. - Create a file called
.env
in the root directory of the project. - Choose a port for the webserver by adding
PORT=<some port>
to the file. - If you want to use a CAPTCHA:
- Add your client secret as
RECAPTCHA_SECRET=<secret>
to the .env file - Open
src/public/pages/report/index.html
, finddata-sitekey
and replace the value with your reCAPTCHA public site key
- Add your client secret as
- Run
npm start
to compile TypeScript and start the webserver.
npm start
- Compiles TypeScript and starts the webserver.npm run build
- Compiles TypeScript.npm run test
- Generates reports from some sample evaluations for classification testing atsrc/test/reports
.
- Docker installed on the server
- Download the source code using
git clone
or download as ZIP. - Open the root directory of the project in a terminal.
- Create a file called
.env
in the root directory of the project. - If you want to use a CAPTCHA:
- Add your client secret as
RECAPTCHA_SECRET=<secret>
to the .env file - Open
src/public/pages/report/index.html
, finddata-sitekey
and replace the value with your reCAPTCHA public site key
- Add your client secret as
- Run
sudo docker build . -t freechess
to build the image
- Run
sudo docker run -d -P freechess
- If you wish to choose the port instead of Docker choosing one for you, replace
-P
with-p <port>:80
@shirsakm - Classification icons
I pay to keep my app running and free-to-use for everyone. Any donations are greatly appreciated ❤️
If you've found a bug in the website, have some cool suggestions or just want to have a chat, you can join my Discord!