"Zero To Production In Rust" is an excellent book about backend development with Rust by Luca Palmieri. However, the book is based on Postmark, which is not available in all countries, such as Iran. Therefore, as I was reading the book, I decided to rewrite the books project using the Lettre crate, which uses SMTP for email transportation.
You'll need to install:
There are also some OS-specific requirements.
cargo install -f cargo-binutils
rustup component add llvm-tools-preview
cargo install --version="~0.6" sqlx-cli --no-default-features --features rustls,postgres
# Ubuntu
sudo apt-get install lld clang libssl-dev postgresql-client
# Arch
sudo pacman -S lld clang postgresql
cargo install --version="~0.6" sqlx-cli --no-default-features --features rustls,postgres
brew install michaeleisel/zld/zld
cargo install --version="~0.6" sqlx-cli --no-default-features --features rustls,postgres
Launch a (migrated) Postgres database via Docker:
./scripts/init_db.sh
Launch a Redis instance via Docker:
./scripts/init_redis.sh
Launch cargo
:
cargo build
You can now try with opening a browser on http://127.0.0.1:8000/login after
having launch the web server with cargo run
.
There is a default admin
account with password
everythinghastostartsomewhere
. The available entrypoints are listed in
src/startup.rs
Launch a (migrated) Postgres database via Docker:
./scripts/init_db.sh
Launch a Redis instance via Docker:
./scripts/init_redis.sh
Launch cargo
:
cargo test