Code for "Zero To Production In Rust", a book on API development using Rust.
Find a file
2021-08-30 16:28:01 +02:00
.github/workflows Fix coverage job 2021-08-01 21:12:05 +01:00
configuration Roudntrip test. 2021-03-11 09:24:57 +00: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 Do not lose context when using spawn blocking. 2021-08-30 16:28:01 +02:00
tests/api Tests pass. 2021-08-29 22:32:52 +02: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 Remove SHA-3. 2021-08-30 10:10:32 +02:00
Cargo.toml Remove SHA-3. 2021-08-30 10:10:32 +02:00
Dockerfile Use pinned images in Dockerfile 2021-07-11 19:28:05 +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.