I Made a Chess Library in Java
jaeheonshim.com
jaeheonshim.com
10 Years later, the code (which I had put on GitHub) made its way into a Minecraft mod called MineChess: http://petrustheron.com/posts/chessmate.html
Source code: https://github.com/theronic/chessmate
[1] https://www.chessprogramming.org/0x88 [2] https://www.chessprogramming.org/Bitboards
That said, chess programming is a _wonderful_ education in Computer Science, and you'll be following in the footsteps of so many great figures in the industry. Understanding bitboards and how to work with them can take you all the way from the bit-twiddling chapters of The Art of Computer Programming, right up to recent advances in CPU architecture and instruction sets. Learning how search works will teach you both very low techniques and high level heuristics in performance optimisation. And of course you can go all all the way up to recent advances in evaluation from deep learning.
Competing with the state of the art is not an implicit goal for every project.
I'd encourage you to get involved with the passionate community at talkchess: http://talkchess.com/forum3/index.php
And join a small group on IRC at Freenode ##chessprogramming where we discuss chess AIs, libraries and often other games like Ataxx and Go.
I myself am an author of a chess library: https://github.com/Mk-Chan/libchess ! Great to see development for Java as well
Has had some very minor fixes since the last source forge version.
I cut you this one issue, https://github.com/jaeheonshim/ChessBoard/issues/1
I think your castling logic is incomplete? Worth a double check.
However, you also need the same code running on the frontend in order to do validations before sending moves to the backend. That optimization helps distribute some server load and gets you immediate feedback. In Java's case, I'd use some java to js or java to kotlin to js transpilation.
Edit: the comment text does not allow Unicode characters.