Code for "Zero To Production In Rust", a book on API development using Rust.
Find a file
2021-08-01 11:11:56 +01:00
.github/workflows Use the latest version of sqlx-cli, 0.5.5. 2021-07-05 08:05:02 +02:00
configuration Roudntrip test. 2021-03-11 09:24:57 +00:00
migrations Fix migration. 2021-03-11 22:30:22 +00: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 Using two types to fetch. 2021-08-01 11:11:56 +01:00
tests/api Refactor tests. 2021-07-25 17:37:00 +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 Use scoped mock. 2021-07-21 21:41:13 +01:00
Cargo.toml Update to actix-web 4.0.0-beta.8. 2021-07-09 08:42:43 +01: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 Fix image in README. 2021-06-06 14:21:35 +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.