README.md (2027B) [raw]
1 euchre-live 2 =========== 3 4 [![builds.sr.ht status](https://builds.sr.ht/~akarle/euchre-live/commits/.build.yml.svg)](https://builds.sr.ht/~akarle/euchre-live/commits/.build.yml?) 5 6 **Deprecation Notice:** As of 2024-03, this project is no longer maintained. 7 I'm happy to look over any patches, but haven't put any effort into keeping 8 up with dependency upgrades, testing newer OS versions for deployment, etc. 9 10 About 11 ----- 12 For my family <3 13 14 Euchre is a card game. It is our "family game", frequently played at family 15 reunions due to its ability to both engage players and be a game you can sit 16 back and chat over without thinking too much. 17 18 With the COVID-19 social-distancing, we're suddenly unable to play, so we 19 started to look at options to play online. 20 21 Disappointed with the state of the online options, we decided to make our own. 22 23 Installation 24 ------------ 25 26 ### Prerequisites 27 28 * Perl (tested on 5.30, but should be pretty portable) 29 * Node (tested on 12.15.0, no idea how portable) 30 * npm 31 * [cpanminus](https://metacpan.org/pod/App::cpanminus) 32 - Alternatively, on OpenBSD 6.9, the packaged `p5-Mojolicious` and 33 `p5-Class-Tiny` packages are sufficient to run the server! 34 35 ### Getting the Dependencies 36 37 On Linux: 38 39 ```sh 40 $ npm i 41 $ cpanm --installdeps . 42 ``` 43 44 On OpenBSD (6.9): 45 46 ```sh 47 $ doas pkg_add node p5-Mojolicious p5-Class-Tiny 48 $ npm i 49 ``` 50 51 ### Building the Release 52 53 The release version is a subset of the repo, built into a separate directory 54 for easier deployment. 55 56 ```sh 57 $ ./bin/build.sh 58 ``` 59 60 ### Running the Server 61 62 ```sh 63 $ ./build/gloat.pl daemon 64 ``` 65 66 To actually daemonize (in a production environment), run with `-m production`. 67 This will log to /var/log/gloat, which should exist and be writable to the 68 server. 69 70 ```sh 71 $ ./build/gloat.pl daemon -m production 72 ``` 73 74 Hacking 75 ------- 76 For fast iteration on the code, we have a `npm` script to watch the JS files with 77 `esbuild` and rebuild the bundle on the fly: 78 79 ```sh 80 $ ./gloat.pl daemon # fire up backend first 81 $ npm run dev 82 ``` 83 84 License 85 ------- 86 [MIT](./LICENSE)