euchre-live

Euchre web-app for the socially distant family
git clone git://git.alexkarle.com/euchre-live.git
Log | Files | Refs | README | LICENSE

README.md (1966B) [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 For my family <3
      7 
      8 About
      9 -----
     10 Euchre is a card game. It is our "family game", frequently played at family
     11 reunions due to its ability to both engage players and be a game you can sit
     12 back and chat over without thinking too much.
     13 
     14 With the COVID-19 social-distancing, we're suddenly unable to play, so we
     15 started to look at options to play online.
     16 
     17 Disappointed with the state of the online options, we decided to make our own.
     18 
     19 The production version is playable now at [euchre.live](https://euchre.live),
     20 but the code is all free under the MIT license, so feel free to hack it or host
     21 your 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)