Chess Endgame Training is an ionic / cordova application. It is written in TypeScript and Angular.
It is distributed in both Android App and Progressive Web App. The Web App allows to open an arbitrary position from a FEN string indicating the objective to achieve (checkmate or draw) : https://chess-endgame-trainer.web.app/fen/FEN_STRING/TARGET
TARGET is checkmate by default. Examples:
https://chess-endgame-trainer.web.app/fen/8/4p1p1/8/7k/2qN3B/4P1P1/2B4K/8 w - - 0 1 https://chess-endgame-trainer.web.app/fen/8/5qpB/5P2/4B2N/8/p7/P2k4/K7 w - - 0 1/draw
Following software and resources has been used:- chess.js: A Javascript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
- chessboard.js: A Javascript chess board
- stockfish.js: The strong open source chess engine Stockfish compiled to JavaScript and WebAssembly using Emscripten
- Lichess Syzygy endgame tablebases API: Online database with information for all endgame positions with up to 7 pieces
- ECO Chess Opening Codes Endgame database: Database of chess endgames
- Free Icons by Smashicons from Flaticon, Inipagi from Iconfinder and Cburnett from Wikimedia Commons
- Chess piece sets: alpha (Eric Bentzen), california (Jerry S), cburnett (Colin M.L. Burnett), chess7 (Alexander Sizenko), chessnut (Alexis Luengas), chicago (Benjamin Friedrich), companion (David L. Brown), fantasy (Maurizio Monge), iowa (Benjamin Friedrich), kosal (philatype), leipzig (Armando Hernández Marroquin), letter (???), merida (Armando Hernández Marroquin), mono (???), oslo (Benjamin Friedrich), pirouetti, pixel (therealqtpi), reilly (Reilly Craig), riohacha (???), shapes (Jimmie Elvenmark), spatial (Maurizio Monge), symmetric (Arcticpenguins)