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 build
You 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-session
The following command will serve the Finicky Whiskers site locally:
spin up --sqlite @highscore/migration.sql
This 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-server
For working on the game UI (styles, etc):
Recompiling Assets:
cd site
npm i
npm run styles
To just run the UI locally (without the other services) use Parcel via npm run dev
and then view the site at localhost:1234