#estimate #poker #agile #planning

nightly bin+lib rustimate

A planning poker app, mostly developed to learn Rust

2 unstable releases

0.1.0 Jan 2, 2020
0.0.1 Nov 9, 2019

#12 in #poker

MIT license

170KB
4K SLoC

rustimate

License Build Status Crate Docs Dependencies

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 application
  • rustimate-client: Run in the client's browser as a WebAssembly package, includes templates
  • rustimate-controllers: Contains actix-web HTTP controllers, usually calling methods from rustimate-service
  • rustimate-core: Contains definitions that are shared between server and client
  • rustimate-service: Contains the primary logic for the application. It receives RequestMessages and emits ResponseMessages
  • rustimate-templates: Contains Maud templates used by the server to render responses
  • rustimate: 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

Dependencies

~31MB
~590K SLoC