Code for "Zero To Production In Rust", a book on API development using Rust.
Find a file
2021-12-27 11:32:52 +01:00
.github/workflows Check prepared data is up-to-date. 2021-09-27 18:12:59 +02:00
configuration Use 127.0.0.1 instead of localhost. 2021-10-07 21:56:40 +01:00
migrations Implement password hashing using Argon2, with PHC string format as storage encoding. 2021-08-29 22:09:43 +02:00
scripts Proactively verify if psql and sqlx are installed before moving forward with script execution. 2021-07-05 09:00:04 +02:00
src Update to latest version of actix-web, tracing-bunyan-formatter and tracing-subscriber. Use tokio macros instead of actix-web's macros. 2021-12-26 17:03:38 +01:00
tests/api Update to latest version of actix-web, tracing-bunyan-formatter and tracing-subscriber. Use tokio macros instead of actix-web's macros. 2021-12-26 17:03:38 +01:00
.dockerignore Refactor structure to use one root branch per chapter. 2020-12-05 17:19:11 +00:00
.env Refactor structure to use one root branch per chapter. 2020-12-05 17:19:11 +00:00
.gitignore Scaffolding 2020-08-23 11:34:29 +01:00
Cargo.lock Run cargo-update 2021-12-27 11:32:52 +01:00
Cargo.toml Remove tracing-futures. 2021-12-27 11:17:22 +01:00
Dockerfile Update runtime image. 2021-09-30 21:24:23 +01:00
LICENSE-APACHE Add licensing information. 2021-06-06 14:11:19 +01:00
LICENSE-MIT Add licensing information. 2021-06-06 14:11:19 +01:00
README.md Add chapter 9 to the README. 2021-08-01 19:21:57 +01:00
spec.yaml Fix environment variable for application URL on DO. 2021-07-14 09:32:16 +01:00
sqlx-data.json Update query file. 2021-03-13 11:14:22 +00:00

Zero To Production / Code

Zero To Production In Rust is an opinionated introduction to backend development using Rust.

This repository serves as supplementary material for the book: it hosts snapshots of the codebase of our email newsletter project at end of each chapter.

Chapter snapshots

The master branch (where you are right now!) shows the project at the end of the last published chapter (Chapter 8, right now).

You can browse the project at the end of previous chapters by switching to their dedicated branches:

Pre-requisite

You'll need to install:

Launch a (migrated) Postgres database via Docker:

./scripts/init_db.sh

How to build

Using cargo:

cargo build

How to test

Using cargo:

cargo test 

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.