Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 3.03 KB

README.md

File metadata and controls

69 lines (48 loc) · 3.03 KB

🦀 Zero To Production 🚀

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!

book cover

This repository contains my personal notes with excerpts and highlights of the book as I worked through it.

Table of Contents

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

Run it locally

Configure base.yaml

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 🔑"

Start The Sever

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

Check The App

http://localhost:8000/

Please read through the documentation regarding QA