// the find
acenelio/chess-system-java
A terminal-based chess game in Java, built as a teaching project for an OOP course. It implements a full two-player chess match with piece movement, check/checkmate detection, castling, en passant, and pawn promotion — all rendered in colored ASCII in the console.
The layered architecture separating boardgame (generic) from chess (domain-specific) is clean and intentional — it's the right way to teach abstraction. Move validation and special rules (castling, en passant) are actually implemented, not stubbed. The colored console output using ANSI escape codes is a nice touch that makes the board readable. Exception hierarchy is properly separated: BoardException vs ChessException.
The .classpath and .project files are Eclipse IDE artifacts checked into the repo — a Maven or Gradle build file would make this portable and less painful for anyone not on Eclipse. There are no tests whatsoever; for a project teaching OOP this is a missed opportunity to also teach testing. The project hasn't been touched since mid-2024 and shows no signs of active maintenance. Move history or game logging is absent, so there is no way to replay or analyze a game after the fact.