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 | bunyanPlease read through the documentation regarding QA
