A desktop chess engine and GUI application built with Java Swing. It includes move validation, game history, configurable board visuals, and login/registration flow backed by SQLite.
- Highlights
- Screenshots
- Project Layout
- Run Locally
- Default Test Login
- Troubleshooting
- Contributing
- Code of Conduct
- Security
- Support
- License
- Swing chess UI with legal move highlighting
- Piece move engine for standard chess rules
- Board preferences menu for tile colors and piece themes
- Move history and captured pieces side panels
- SQLite-backed user login and registration
Chess-Engine-In-Java/
|- JChess/
| |- run_chess.sh
| |- chess.db
| |- src/com/chess/
| | |- JChess.java
| | |- engine/
| | |- gui/
| |- art/
|- docs/screenshots/
|- .github/
- macOS, Linux, or Windows with Java 17+
javacandjavaavailable onPATH
cd JChess
./run_chess.shIf script execution is blocked:
cd JChess
chmod +x run_chess.sh
./run_chess.shcd JChess
javac -cp ".:guava-19.0.jar:sqlite-jdbc-3.36.0.3.jar" -d out -sourcepath src src/com/chess/JChess.java
java -cp "out:guava-19.0.jar:sqlite-jdbc-3.36.0.3.jar" com.chess.JChessIf your machine defaults to an older Java version, set Java 17 first:
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
java -version- Username:
test - Password:
test
- App does not launch: verify Java 17 with
java -version. - Compile errors about missing classes: make sure the JAR files exist inside
JChess/. - Database/login issues: confirm
JChess/chess.dbexists and is readable. - Images not visible: verify files are present under
JChess/art/.
Please follow CONTRIBUTING.md for setup, coding standards, and PR checklist.
Please review CODE_OF_CONDUCT.md.
For responsible disclosure, follow SECURITY.md.
For support channels and issue types, see SUPPORT.md.
This project is licensed under the MIT License. See LICENSE.



