rustimate 0.1.0

A planning poker app, mostly developed to learn Rust
# Features

## Shared Code

The application is split into five crates, with `core` being shared between the server binary and WASM. Shared messages are passed across a websocket in text or binary form.

## Cross-built

The app is compiled by [TravisCI](https://travis-ci.org) and [AppVeyor](https://appveyor.com), publishing binaries for a variety of desktop and mobile architectures.

## Versioned Publishing

Scripts provided to publish to [crates.io](https://crates.io) and trigger CI publishing to [Github Releases](https://github.com).

## JavaScript Interop

WASM-to-JavaScript helpers provided by [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen), allowing DOM manipulation and simple event handlers.

## HTML Templating

Loads of [maud](https://maud.lambda.xyz) templates, integrating with the user's session and theme. Helpers provided for UI components, flash messages, reverse routing, and backtraces.

## WebSocket

WebSocket connections (using [serde_json](https://serde.rs) in debug mode, [bincode](https://docs.rs/bincode) in release), passing messages defined by shared code.

## HTTP Server

High-performance server implementation provided by [actix-web](https://actix.rs), with integrations to pass app configuration and user data to each request.

## Multi-project Build

Code is spread across several crates, splitting shared code and templates to different published libraries.

## UIKit Integration

SCSS stylesheets extending [UIKit](https://getuikit.com), which is included as a git submodule.

## User Theme

Light mode, dark mode, and color selection make a good starting point for user sessions, supported by all the template components.

## Logging

File and console-based logging using [slog](https://github.com/slog-rs/slog) on the server (including backtraces and source location), and [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) on the client.