Skip to content
@Chessticulate

Chessticulate

Welcome to Chessticulate!

This organization encompasses all of the components comprising our chess website (as well as a few false-starts and experiments). The primary components of Chessticulate are:

The Story

I (bglaws) became enamored with the game of Chess, as many of us did, during the peak of the COVID-19 pandemic. I was also still in college learning Java at the time, and these two interests of mine merged and blossomed into a terminal chess program I built. Later on I began learning JavaScript at an internship. That, combined with a dissatisfaction with the chess programming I had done previously, led me to make a second attempt at writing an improved chess engine, this time in JavaScript. Yes, JS is probably not the most efficient option in hindsight (especially if you want to add AI into the mix), but I really wanted to improve my JavaScript skills. Additionally, I had some vague ideas of building my own simple chess website (for fun of course), and so building the engine in JS would allow it to be used on the frontend of such a site.

After some time developing that I decided to collaborate with my brother krglaws on building the chess website I had been picturing. This project is the product of that collaboration.

Where We're At

  • shallow-pink (it's a pun) - Our JavaScript chess engine. It is more or less "done". The core functionality is there, and it is fully tested. It includes a rudimentary AI that has been implemented using a simple Minimax algorithm. We have tentative plans to:

    • reimplement the library in either C or C++.
    • improve upon the ai using a Monte Carlo Tree Search or Neural Network, or both.
  • chessticulate-api - The REST API for our website. We decided to write our API in Python using the FastAPI web framework since it comes with excellent data validation and auto-generated swagger pages. The database we are using for now is sqlite, although we have plans to migrate to postgres at some point. This part of the project is mostly done, barring whatever additions or enhancements we decide to add later on.

  • chess-workers - A small expressjs REST API wrapper around shallow-pink.

Our reasoning for separating shallow-pink from the python API via chess-workers (aside from the fact that they are written in different languages) is as follows:

  1. by having shallow-pink, which requires significant CPU resources, execute in a separate process from the python API and moving shallow-pink to an IO-bound process instead of a CPU-bound process (at least from python's perspective), we avoid holding up FastAPI's eventloop.
  2. it is easier to scale a project when it has been broken up into simpler components.

TODO

We are currently working on deploying the components we have with Docker onto a raspberry pi. After that, our next step is to build the frontend, probably with React.

Popular repositories Loading

  1. shallow-pink shallow-pink Public

    Chess engine implemented in Node.js

    JavaScript 4

  2. .github .github Public

    Chessticulate is a simple chess website.

  3. chessticulate-api chessticulate-api Public

    Python

  4. chessticulate-db chessticulate-db Public

  5. chess-app chess-app Public

    JavaScript

  6. tictactoe tictactoe Public

    Python Tic Tac Toe Module

    Python

Repositories

Showing 9 of 9 repositories
  • Chessticulate/chessticulate-fe’s past year of commit activity
    TypeScript 0 0 4 0 Updated Nov 8, 2024
  • shallow-pink Public

    Chess engine implemented in Node.js

    Chessticulate/shallow-pink’s past year of commit activity
    JavaScript 4 0 1 0 Updated Nov 5, 2024
  • Chessticulate/chessticulate-api’s past year of commit activity
    Python 0 0 4 1 Updated Oct 22, 2024
  • Chessticulate/chess-workers’s past year of commit activity
    JavaScript 0 0 0 0 Updated Jul 2, 2024
  • .github Public

    Chessticulate is a simple chess website.

    Chessticulate/.github’s past year of commit activity
    0 0 0 0 Updated Jun 12, 2024
  • tictactoe-api Public

    Tic Tac Toe API

    Chessticulate/tictactoe-api’s past year of commit activity
    Python 0 0 0 1 Updated Oct 1, 2023
  • tictactoe Public

    Python Tic Tac Toe Module

    Chessticulate/tictactoe’s past year of commit activity
    Python 0 0 0 0 Updated Sep 13, 2023
  • Chessticulate/chess-app’s past year of commit activity
    JavaScript 0 0 0 0 Updated Aug 29, 2023
  • Chessticulate/chessticulate-db’s past year of commit activity
    0 0 0 0 Updated Apr 16, 2023

Top languages

Loading…

Most used topics

Loading…