69 lines
1.6 KiB
Markdown
69 lines
1.6 KiB
Markdown
# 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.
|
|
|
|
### 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 --version=0.2.0 sqlx-cli
|
|
cargo run --bin tenebrous-migrate
|
|
```
|
|
|
|
### Run Application
|
|
|
|
If you are using `rustup`, then it should automatically switch to the
|
|
stable 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 created in the directory `cargo run` was
|
|
invoked from by default. You can also pass a path to a different
|
|
location as a single argument to the program.
|
|
|
|
## Development
|
|
|
|
Development instructions.
|
|
|
|
To set up a local database, or run migrations, run:
|
|
|
|
```
|
|
cargo run --bin tenebrous-migrate
|
|
```
|
|
|
|
### Database Queries and Migrations
|
|
|
|
When adding/updating a compile-checked query or a migration, you need
|
|
to update the SQLx data JSON file:
|
|
|
|
```
|
|
cargo sqlx prepare -- --bin tenebrous
|
|
```
|
|
|
|
[rustup]: https://rust-lang.github.io/rustup/index.html
|