SL Logo

Chess

The capstone project for the Ruby section of The Odin Project curriculum. The project was broadly scoped and I implemented the program without relying on any Chess specific gems or packages.

I’m extremely proud of this project, as it was the first big system I was tasked with writing. I came up with the abstractions which was a very new exercise in systems design at a small scale. From thinking carefully about the objects I needed to what messages they ought to send and receive, having a working Chess program that supports all the basic rules of Chess was a triumph.

I learned a lot about testing and refactoring with this project as well, as it took me getting stuck to reconsider my abstractions and having a test suite set up enabled me to make changes fearlessly. It was a lesson that has stuck with me about the importance of testing and short feedback loops.