https://github.com/yoavniran/web-chess
This is a fun side project born of my relatively new passion for Chess
https://github.com/yoavniran/web-chess
Last synced: over 1 year ago
JSON representation
This is a fun side project born of my relatively new passion for Chess
- Host: GitHub
- URL: https://github.com/yoavniran/web-chess
- Owner: yoavniran
- Created: 2021-08-12T13:37:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-28T12:36:33.000Z (over 4 years ago)
- Last Synced: 2025-01-22T02:41:27.393Z (over 1 year ago)
- Language: JavaScript
- Size: 925 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Web Chess
This is a fun side-project born of my recent new passion for Chess
Here I will try to implement as many features (seen on sites like chess.com & lichess.org)
for the UI side of playing online chess.
> Backend is out of scope for now...
> combining client side engine is inspirational
An implementation of a playable chess board using web technologies:
- React
- Recoil JS
- Styled Components
- Framer Motion
## Features
Supports all rules of classical Chess:
- only legal moves
- castling
- enpassant
- 50 move count rule
- pawn promotion (TBD)
- move algebraic notation
### Capabilities
- Start from any legal FEN
- Check(mate) identification & highlighting
- legal moves identification & highlighting
- take identification & highlighting
- pinned piece (absolute) identification
- Move history display
## Roadmap
### P1
| Feature | Area | Status
|-------- | -----| -----------
| Flip Board | board | ✅
| Board Coordinates (inside, outside) | board |
| All legal moves (castle, castling limitations, en passant, promotion) | moves | 🚧
| Promotion Selector | ui, moves |
| Stalemate detection | moves |
| check & checkmate detection | moves | ✅
| Check/mate Highlight | board |
| Legal moves highlight | board | ✅
| Last move highlight | board |
| history board | game | ✅
| taken pieces bar | game |
| Start from any FEN | state | ✅
| Output to FEN | state |
### P2
| Feature | Area | Status
|-------- | -----| -----------
| time travel (show moves backward, forward) | moves, game |
| board themes | board |
| sounds (move, check, invalid) | feedback |
| Load PGN (lichess, chess.com) | state |
| Output to PGN | state |
| write own FEN parser | infra
### P3
| Feature | Area | Status
|-------- | -----| -----------
| toggle allowed moves highlighting | board |
| toggle check/mate highlight | board |
| Analysis mode (check moves without committing to history) | moves |
| Game Clock (per side, bonus) | game |
| Output to Image | extras |
| History branches (maintain multiple history branches) | game |
| Create game from custom position
### P4
| Feature | Area | Status
|-------- | -----| -----------
| use Engine! | game, engine |