An open API service indexing awesome lists of open source software.

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

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 |