Zero To Production In Rust is an opinionated introduction to back-end development using Rust.
BIG thanks to @Luca Palmieri for writing this π and all of his contributions to the community!
This repository contains my personal notes with excerpts and highlights of the book as I worked through it.
Chapter | Title | Description |
---|---|---|
01 | Getting Started | Setup and tooling |
02 | Building An Email Newsletter | Project planning |
03 | Sign Up a New Subscriber | Pick the tech stack & wire it all up with tests |
04 | Telemetry | Implement logs then tracing |
05 | Going Live | Containerization, CI/CD |
06 | Reject Invalid Subscriber #1 | Form validation and code organization |
07 | Reject Invalid Subscriber #2 | Wire up confirmation email flow |
08 | Error Handling | Advanced and proper error handling |
09 | Naive Newsletter Delivery | Initial feature to send newsletter |
10 | Securing Our API | Authentication with protected routes |
11 | Fault-Tolerant Workflows | Idempotency and concurrency |
TODO | Suggested Features | Recommended improvements that were out-of-scope of the π |
QA | Quality Assurance | Field notes for QA-ing |
Input your postmark API π§ and π in ./configuration/local.yaml
.
You get get your postmark API token at:
https://account.postmarkapp.com/servers/{YOUR_POSTMARK_SERVER_ID}/credentials
Your postmark email is the email you used to sign up with
https://account.postmarkapp.com/signature_domains
# TODO: Fill me out
# email_client:
# base_url: "https://api.postmarkapp.com"
# sender_email: "TODO π§"
# authorization_token: "TODO π"
Make sure you have docker running.
# seed and run postgres database in container
./scripts/init_db.sh
# run redis server
./scripts/init_redis.sh
cargo run | bunyan
Please read through the documentation regarding QA