Contributing
October 27, 2025 ยท View on GitHub
The project backend is written in very straightforward Scala without tricky FP and types acrobatics. If you are an experienced Java developer but don't know Scala, I believe Scala should not become a big barrier.
Frontend is written in TypeScript and React.
For describing backend <----> frontend communication contract (API), we use Protobuf.
Development environment
We use Nix to install all tools and other dependencies required for development. You don't need to install JVM, Node, Protobuf compiler separately.
- Install Nix
- Install git-lfs
- Add the following content to your
~/.gitconfig:
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
- Use
make devcommand at the repository root to enter the development environment shell. - Go to
./devenvdirectory and runmake dev-localto start local Pulsar-standalone instance in Docker. - Go to the Protobuf definitions directory
cd ./protoand runmake buildhere. - Go to the server directory
cd ./serverand runsbt, thenrunhere. - Open a second terminal, go to the UI directory
cd ./uiand runmake devhere.
Frontend
If you're using VSCode, use this snippet to create a new component from a template: https://gist.github.com/visortelle/271627130d7dfcfa44e1f71fc5b6dfaf
CI
Run act to run GitHub Actions job locally.