Skip to content

derekahn/zero-to-production

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ¦€ 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

About

Code for "Zero To Production In Rust" πŸ“•

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages