~akarle/euchre-live

Euchre on the web for the socially distant family

a0754b0 spruce hand

a day ago

22d50c0 really fix seats, add turn style

a day ago

#euchre-live

builds.sr.ht status

Deprecation Notice: As of 2024-03, this project is no longer maintained. I'm happy to look over any patches, but haven't put any effort into keeping up with dependency upgrades, testing newer OS versions for deployment, etc.

#About

For my family <3

Euchre is a card game. It is our "family game", frequently played at family reunions due to its ability to both engage players and be a game you can sit back and chat over without thinking too much.

With the COVID-19 social-distancing, we're suddenly unable to play, so we started to look at options to play online.

Disappointed with the state of the online options, we decided to make our own.

#Installation

#Prerequisites

  • Perl (tested on 5.30, but should be pretty portable)
  • Node (tested on 12.15.0, no idea how portable)
  • npm
  • cpanminus
    • Alternatively, on OpenBSD 6.9, the packaged p5-Mojolicious and p5-Class-Tiny packages are sufficient to run the server!

#Getting the Dependencies

On Linux:

$ npm i
$ cpanm --installdeps .

On OpenBSD (6.9):

$ doas pkg_add node p5-Mojolicious p5-Class-Tiny
$ npm i

#Building the Release

The release version is a subset of the repo, built into a separate directory for easier deployment.

$ ./bin/build.sh

#Running the Server

$ ./build/gloat.pl daemon

To actually daemonize (in a production environment), run with -m production. This will log to /var/log/gloat, which should exist and be writable to the server.

$ ./build/gloat.pl daemon -m production

#Hacking

For fast iteration on the code, we have a npm script to watch the JS files with esbuild and rebuild the bundle on the fly:

$ ./gloat.pl daemon # fire up backend first
$ npm run dev

#License

MIT