The app is divided in a client written with vue.js and a server written with Binah.
- Twiddle
allowDirectMessages
in the client if you want direct messages between participants.
Clone the repo including submodules
$ git clone --recursive https://github.com/nilehmann/binah-apps/
For local development you need to run both the client and server. Se each README for further instruction.
To build the code for production run:
$ ./build.sh
This will create bundle files for the client app and compile the haskell code. It'll then copy everything to dist/
.
Alternatively, you can specify a docker image to build the binaries. Only the haskell code will be built inside the container. The image needs to have stack installed.
$ ./build.sh -i image
In production you need to run the server with --static
specifying a directory to serve static files from. When --static
is specified the server will also respond for any unknown route with index.html
(routes are handled in the client by vue).
For example, assuming you built the code with build.sh
you can run the server like this:
$ dist/disco --static=dist/static