haskell-tic-tac-toe icon indicating copy to clipboard operation
haskell-tic-tac-toe copied to clipboard

A multiplayer web real-time implementation of the famous Tic Tac Toe game in Haskell.

Tic Tac Toe

Game

A very basic web multiplayer real-time game implemented using Servant and Websockets. It can serve as an example on how to set up websockets with authentication in your Servant app.

Running it locally

You need to have stack installed together with npm.

Running the server

In the root folder of the repository, run stack run.

Running the client

While inside the client folder, run npm run start.

Note: if you encounter an error about history you may need to run npm install --save history

Contributing

There are a few TODOs at the bottom of this readme. Feel free to tackle some of those or submit any improvements that you think make sense.

License

This project is licensed under the MIT License.


TODOs

  1. When a new user logs in, the "Available players" list should be updated in real time.
  2. Users should be invalidated after a certain amount of time has passed without them being active.
  3. When a person leaves the game/loses connection, the game should stop.