You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+24-15Lines changed: 24 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,8 @@ A full-stack chess application demonstrating RESTful architecture, chess rule en
8
8
9
9
This project is a **portfolio-grade demonstration** of:
10
10
11
-
-**Chess Engine Logic**: Complete implementation of chess rules including move validation, check/checkmate detection, en passant, castling, and pawn promotion
11
+
-**Chess Engine Logic**: Complete implementation of chess rules including move validation, check/checkmate detection, stalemate, draw conditions, castling (with full validation), en passant, pawn promotion, and move history tracking
12
+
-**PGN Export**: Export games in standard Portable Game Notation format
12
13
-**RESTful API Design**: Clean separation of concerns with a Spring Boot backend exposing chess operations via HTTP
13
14
-**Modern Frontend**: React-based TypeScript UI using Next.js 13 with server and client components
14
15
-**Full-Stack Integration**: Real-world example of frontend-backend communication with CORS handling
@@ -179,6 +180,8 @@ Start the backend and navigate to Swagger UI to explore endpoints, request/respo
179
180
|`GET`|`/chessGame`| Get current game state |
180
181
|`POST`|`/move`| Make a chess move |
181
182
|`POST`|`/getValidMoves`| Get valid moves for a piece |
183
+
|`GET`|`/moveHistory`| Get all moves made in current game |
184
+
|`GET`|`/exportPGN`| Export current game in PGN format |
182
185
183
186
### Example API Calls
184
187
@@ -210,6 +213,16 @@ curl -X POST http://localhost:8080/getValidMoves \
210
213
-d '{"row": 2, "col": 5}'
211
214
```
212
215
216
+
**Get move history:**
217
+
```bash
218
+
curl http://localhost:8080/moveHistory
219
+
```
220
+
221
+
**Export game to PGN:**
222
+
```bash
223
+
curl http://localhost:8080/exportPGN
224
+
```
225
+
213
226
## Non-Goals
214
227
215
228
This project **intentionally does NOT include**:
@@ -219,8 +232,6 @@ This project **intentionally does NOT include**:
219
232
❌ **Persistence** - No database; game state is in-memory only
220
233
❌ **Authentication** - No user accounts or login system
221
234
❌ **Production Hardening** - No load balancing, caching, or cloud deployment
222
-
❌ **Move History Export** - No PGN/FEN notation support
0 commit comments