How riccardodemedio/oop25-aurachess works
AuraChess is a desktop chess application. A player interacts with the Swing board; the controller interprets clicks, validates and applies moves, updates the clock and view, and optionally asks AuraEngine for the computer’s move. Board state and piece models support rule evaluation, special moves, undo/history, and FEN reconstruction. Save management persists games and clocks to files. The README is empty, so this map relies on the tree, entry point, interfaces, and sampled implementations; unsampled controller routes are represented conservatively.
Components 12
Application UI
- Application Entry
src/main/java/scacchi/app/AuraChess.java - Game Controller
src/main/java/scacchi/controller/Controller.java - Chess View
src/main/java/scacchi/view/ChessViewImpl.java
Game State
- Board State
src/main/java/scacchi/model/board/BoardImpl.java - Chess Pieces
src/main/java/scacchi/model/pieces - Piece Factory
src/main/java/scacchi/model/pieces/PieceFactory.java
Rules And AI
- Game Rules
src/main/java/scacchi/model/gamerules/GameRules.java - Aura Engine
src/main/java/scacchi/model/ai/AuraEngine.java
Persistence And Time
- Save Manager
src/main/java/scacchi/model/savemanager/SaveManagerImpl.java - Chess Clock
src/main/java/scacchi/model/time/ChessClock.java
Other components
- Player
- Save Files
Connections 19
- Application Entry → Board State: creates
- Application Entry → Chess View: creates
- Application Entry → Save Manager: creates
- Application Entry → Game Controller: assembles
- Player → Chess View: clicks board
- Chess View → Game Controller: dispatches input
- Game Controller → Chess View: updates display
- Game Controller → Board State: applies moves
- Game Controller → Game Rules: validates moves
- Game Controller → Aura Engine: requests move
- Game Controller → Chess Clock: updates clock
- Game Controller → Save Manager: manages saves
- Game Rules → Board State: examines state
- Game Rules → Chess Pieces: checks movement
- Board State → Piece Factory: creates pieces
- Aura Engine → Board State: searches positions
- Aura Engine → Game Rules: evaluates legality
- Save Manager → Board State: loads history
- Save Manager → Save Files: reads and writes