For the past two weeks, my main focus has been updating the web application logic to load and update the displayed FEN entirely based on communication from lichess.org. This proved to be difficult since the formatting of the JSON strings being received from lichess.org isn’t in the form of a FEN, it’s actually being sent as an array of moves made during that specific game, ordered from first move to latest move. From this list, I then have to calculate the actual FEN to then display. From here I continue to receive moves in the form of an array of all the moves made in the game and filter out the old moves in order to apply the new moves on the displayed board. Furthermore, I worked with Mukundh to finalize some final tocuhes of the move verification script using Stockfish. We added some classes and methods to mainstream the code and make it easier to understand. Apart from this, the team focused a lot of time on working on the system design report which was submitted last Friday.
In terms of software on the web application portion and Stockfish portion, the team is on track to finish everything on time. This next week we want to push communication between the web app, lichess.org, and the RPi in order to make sure we can play an entire chess game from the RPi and view the game from our web application.
In terms of new technologies used – In order to complete the software portion of the project, I’ve had to learn how to use various libraries including Chess.JS, React Chessboard, Stockfish, and Lichess.org’s public API. I will also have to learn how to use the RPi and the available drivers in order to use the RPi speakers. The team chose to use these specific technologies, mostly based on the fact they all have extensive documentation and have previously been used in similar projects to the one we aim to complete.