Skip to content

svenstaro/rust-web-boilerplate

Repository files navigation

Rust Web Boilerplate

Build Status codecov lines of code license

About

This is a boilerplate project made using best practices for getting started quickly in a new project. I made this for myself but maybe it will help someone else. Pull requests and discussions on best practices welcome!

Development setup

Install a few external dependencies and make sure ~/.cargo/bin is in your $PATH:

cargo install diesel_cli
cargo install cargo-watch

Optionally if you want line coverage from your tests, install cargo-tarpaulin:

cargo-tarpaulin

Copy .env.example to .env and update your application environment in this file.

Make sure you have a working local postgres setup. Your current user should be admin in your development postgres installation and it should use the "peer" or "trust" auth methods (see pg_hba.conf).

Now you can launch the watch.sh script which helps you quickly iterate. It will remove and recreate the DB and run the migrations and then the tests on all code changes.

./watch.sh

To get line coverage, do

cargo tarpaulin --ignore-tests