rustimate
A planning poker app, using an actix-web server communicating via websocket to WASM shared code. It's a work in progress, mostly an exercise to learn Rust.
This project's structure is available as a cargo-generate template, generust
Rust nightly is required, at least for now
See installing.md for installation guidance. After installing, run rustimate -h
to get started.
See scripts.md for available tools for building, running, and packaging the app.
Crates
rustimate
splits its code into several library crates:
rustimate-assets
: Contains embedded static files intended to be served from the web applicationrustimate-client
: Run in the client's browser as a WebAssembly package, includes templatesrustimate-controllers
: Contains actix-web HTTP controllers, usually calling methods fromrustimate-service
rustimate-core
: Contains definitions that are shared between server and clientrustimate-service
: Contains the primary logic for the application. It receives RequestMessages and emits ResponseMessagesrustimate-templates
: Contains Maud templates used by the server to render responsesrustimate
: Stored in the root of the project, this is the app's main library and binary
Config
The project currently exclusively uses the filesystem for saved data, no database is involved.
Directories
By default, the application stores config files in your system's user configuration directory. See rustimate --help
to change the directory used.
- macOS: ~/Library/Application Support/rustimate
- Linux: ~/.config/rustimate
- Windows: %APPDATA%\kyleu/rustimate
Files
profile/*
: User profile information
session/*
: Estimation sessions