Skip to content

FlynnHillier/chessalyze

Repository files navigation

Chessalyze

about

Chessalyze is a browser based, multiplayer capable chess website in which you can challenge and play against your friends in real time!

Chessalyze's tech stack consists of the following: Next 14, tRPC, Drizzle ORM, Lucia Auth & Tailwind CSS. I created this project in order to experiment and become familar with the afermentioned technologies, and so far I am very happy with what has become of it!

As of 06/10/24 I've got the project to a state I'm happy enough to consider as a finished state. I do not plan on making anymore considerable, if any, changes to the site.

You can find the site hosted live (for now) at https://chessalyze.com

The site is not suitable for viewing on mobileI have made an effort to improve the viewing experience of smaller viewports, although for the best experience I'd still reccomend viewing on a standard desktop-sized viewport.

Demo

Authentication is handled using Google Oauth, this way signing up as simple as can be, and user's can rest assure their passwords are secure.

login

Once we've signed up - let's add our friends! We don't have to do this, we could share a link directly instead.
In this case, I am going to play against myself - each browser is logged in via different accounts.

add-friend

Now we've got our friend added - let's challenge them to a game!
We can configure our game how we'd like. Our friend will have a chance to view these settings before they accept.

challenge

From here, we're in our game - now its just chess! In this case, our white is playing very silly, but we just want the game to finish.

game-end

Once our game is over, we can go and step back through the moves, and see the entire movement history. We can also see games that other people have played.

completed-game

To Do!

As of writing this updated readme (09/04/24) I am still actively working on the project and intend to add a multitude of extra features in the coming months.

As of 06/10/24 I do not plan on working on this project any longer. It will likely not receieve any future updates.

  • More detailed home page & signup screen (soon)
  • Retrospective game viewing completed 22/05/24
    • view games you've played in the past & step back through the moves that occured
  • Directly add friends and in-site invitation's that don't require link sharing
  • 'Matchmaking' in which any user on the site can 'queue' for a game and receive a random opponent
  • Play against bots!
  • host the site!

Try it yourself

If you'd like to try and host the site for yourself on your local machine:

  • create a .env file in the top level directory and fill it with the keys specified in .env.example
  • install dependencies using yarn or npm install
  • run the drizzle script using npm run drizzle or yarn run drizzle
  • start the application using npm run dev or yarn run dev
  • visit https://localhost:<your port>/play and get stuck in!

About

a multiplayer capable browser-based chess application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages