To learn more about "The World's Most Adorable Manual Load Generator", Finicky Whiskers, and the technical details under the covers, you should read the four-part blog post series accompanying the project:
- The World's Most Adorable Manual Load Generator
- Serving the HTML, CSS, and static assets
- The Microservices
- Spin, Containers, Nomad, and Infrastructure
Finicky Whiskers is comprised of a handful of microservices.
You'll need Spin v0.4.1 to run the site locally.
You will also need the following to build and run the components:
$ brew tap kateinoigakukun/wasi-vfs https://github.com/kateinoigakukun/wasi-vfs.git
$ brew install kateinoigakukun/wasi-vfs/wasi-vfs
$ brew install npm
$ brew tap tinygo-org/tools
$ brew install tinygo
$ rustup target add wasm32-wasi
It is expected that Rust will be installed already. Do not use Homebrew to install Rust, it will cause errors.
This will by default build all microservices per the Makefile in their directories:
spin buildYou may also build a particular microservice by navigating into its directory
and running make build or from the root of this repo via
make build-<microservice> e.g.:
make build-sessionThe following command will serve the Finicky Whiskers site locally:
spin up --sqlite @highscore/migration.sqlThis will run the game at http://127.0.0.1:3000
The following command will serve the site and then run the integration test as seen here:
make test-serverFor working on the game UI (styles, etc):
Recompiling Assets:
cd site
npm i
npm run stylesTo just run the UI locally (without the other services) use Parcel via npm run dev and then view the site at localhost:1234