A lightweight web interface for the Eleanor chess engine, built with Bun, React, and TypeScript.
-
It manages multiple concurrent sessions by spawning isolated UCI engine child processes per user.
-
Each session tracks activity, handles custom FEN positions, and auto-terminates after inactivity, providing efficient and scalable real-time chess play via a simple REST API.
- "Eleanor starts the round" method added. ~ v.0.2.6.
- Download and setup the Eleanor engine.
- Clone this repo to your computer.
- Configurate your
config.json
. - Download the Bun runtime.
- Install the dependencies with
bun install
. - Run the application with
bun start
.
- Paste your path to the config file. (The path should point to the built binary file /exe)
{
"port" : 3000, // http port number
"engine_path" : "/mnt/d/Codes/2025/Eleanor-web-ui/Eleanor/Eleanor", // Eleanor engine binary path
"maxInstanceSize" : 1 // Maximum number of simultaneous game sessions
}
- ✅ Sounds.
- ✅ Log informations screen. ~ testing
- Time control.
- Player number / server load indicator.
- Benchmarks tab etc.
- Match history / replays.
- Better UX / UI. ~ "Your turn" etc.
- When the user leaves the page and returns, traces of the last step are lost.
- Make the chessboard bigger in phone view.
- "ha kijelölsz egy bábut, sárgával jelezve van, hogy hova tud lépni. Ez nagyszerű, de ha a motor gondolkodása közben jelölsz ki figurát, majd idők közben lép egyet a bot, akkor továbbra is fogod a bábut, de nem jelenik meg a sárga jelölés, hogy hova tudsz lépni"
- ~ the engine sometimes wants to move where it is standing.
MAJOR.MINOR.FEATURE.FIX
- MAJOR: An important, far-reaching change or innovation.
- MINOR: Less important, but still significant changes.
- FEATURE: Add a new function or command.
- FIX: Bug fixes, optimization.