A simple chat app that uses a pekko-http backend and a scala.js frontend to implement a simple websocket based chat application.
To run:
sbt
> project backend
> reStart
Navigate to http://localhost:8080/.
You can build a fully self-contained jar using assembly in the backend project.
You can set app.interface and app.port in application.conf to configure where the server
should listen to.
This also works on the command line using JVM properties, e.g. using re-start:
> re-start --- -Dapp.interface=0.0.0.0 -Dapp.port=8080
will start the server listening on all interfaces.
The cli project contains a command line client for the chat to demonstrate the Websocket client and
how to deal with console input in a streaming way.
It runs best directly from a terminal.
Start the server as explained above. Then, to build a fat jar use
sbt
> project cli
> assembly
Run
java -jar cli/target/cli.jar
or
./chat
Here's another screencast that shows live tab completion in action:
There isn't more than absolutely necessary there right now.

