Code for "Zero To Production In Rust", a book on API development using Rust.
Find a file
2022-03-14 10:58:08 +00:00
.cargo Add linker configuration 2022-03-11 22:45:22 +00:00
.github/workflows Fix CI 2022-03-14 10:58:08 +00:00
configuration Add login form with errors via HMAC-protected query parameters 2022-03-12 00:45:26 +00:00
migrations Implement password hashing using Argon2, with PHC string format as storage encoding. 2021-08-29 22:09:43 +02:00
scripts Do not use backticks - they lead to the script trying to execute the quoted command. 2021-12-28 12:20:13 +01:00
src Add login form with errors via HMAC-protected query parameters 2022-03-12 00:45:26 +00: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 Add login form with errors via HMAC-protected query parameters 2022-03-12 00:45:26 +00:00
Cargo.toml Add login form with errors via HMAC-protected query parameters 2022-03-12 00:45:26 +00:00
Dockerfile Install linking system dependencies 2022-03-11 22:47:27 +00: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 Fix CI 2022-03-14 10:58:08 +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.