diff --git a/README.md b/README.md new file mode 100644 index 0000000..db58fee --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Tenebrous Sheets + +An open source character sheet service for tabletop roleplaying games. + +Currently under heavy development. + +## Build Instructions + +These are very basic build instructions. They assume you already have +cargo set up and installed. Building the application requires **Rust +Nightly!** See [rustup documentation][rustup] for more, particularly +the part about using [Rust Nightly][nightly]. + +### Install Dependencies + +Install dependencies. The exact method depends on your OS. + + * sqlite3 and development headers (Void Linux: `xbps-install + sqlite sqlite-devel`, Ubuntu: `apt install sqlite3 libsqlite3-dev`). + * protoc: protocol buffers compiler. There is one baked into the + build, so you should not need this unless you are not using + Linux/Mac/Windows. + +### Initial Setup + +Follow these instructions from the root of the repository. Set up database: + +``` +cargo install diesel_cli --no-default-features --features sqlite +diesel setup +diesel migration run +``` + +### Run Application + +If you are using `rustup`, then it should automatically switch to the +nightly version of Rust in this repository. This is because of the +`rust-toolchain` file. + +Command line "instructions" to build and run the application: + +``` +cargo run +``` + +The sqlite database is currently always created in the same directory +that `cargo run` was invoked from, so make sure you invoke it from the +same place every time. + +[rustup]: https://rust-lang.github.io/rustup/index.html +[nightly]: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust