ABANDONED
Freechess is an abandoned project and no longer maintained - it'll be kept up so the code is available to everyone.
The new website, WintrChess, is open-source!
Generate classifications for your Chess moves, for free.
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 cloneor download as ZIP. - Open the root directory of the project in a terminal.
- Run
npm ito install all of the necessary dependencies. - Create a file called
.envin 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-sitekeyand replace the value with your reCAPTCHA public site key
- Add your client secret as
- Run
npm startto 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 cloneor download as ZIP. - Open the root directory of the project in a terminal.
- Create a file called
.envin 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-sitekeyand replace the value with your reCAPTCHA public site key
- Add your client secret as
- Run
sudo docker build . -t freechessto 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
-Pwith-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!