Implementation of Zero to Production In Rust: An introduction to backend development in Rust by Luca Palmieri
  • Rust 98.3%
  • Dockerfile 0.9%
  • HTML 0.6%
  • PLpgSQL 0.2%
Find a file
Abdulrazaq Alhendi def4797e2d
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
chore: migrate CI services to Docker Compose for PostgreSQL and Valkey setup
2026-08-11 14:08:30 +03:00
.cargo chore: update macOS aarch64 linker path 2024-12-02 14:52:25 +03:00
.github/workflows chore: migrate CI services to Docker Compose for PostgreSQL and Valkey setup 2026-08-11 14:08:30 +03:00
.sqlx chore: update dependencies 2026-08-11 13:05:19 +03:00
configuration chore: replace Redis with Valkey and update configuration, docs, and session middleware 2026-08-11 13:53:23 +03:00
docs docs: add Authentication.md 2024-12-22 14:29:48 +03:00
migrations feat: add reset password confirm 2025-01-25 21:19:50 +03:00
src chore: replace Redis with Valkey and update configuration, docs, and session middleware 2026-08-11 13:53:23 +03:00
tests/api chore: update dependencies 2026-08-11 13:05:19 +03:00
.dockerignore chore: replace custom scripts with Docker Compose for PostgreSQL and Redis setup 2026-08-11 11:37:24 +03:00
.env feat: add PSQL DB connection 2024-07-24 23:47:28 +03:00
.gitignore feat: add opentelemetry support via openobserve 2024-09-19 17:48:18 +03:00
Cargo.lock chore: bump opentelemetry and centralize Ring crypto provider installation 2026-08-11 13:22:38 +03:00
Cargo.toml chore: bump opentelemetry and centralize Ring crypto provider installation 2026-08-11 13:22:38 +03:00
compose.yaml chore: update PostgreSQL to 18.4-alpine and adjust related configurations 2026-08-11 13:59:14 +03:00
deny.toml chore: bump dependencies 2024-11-26 15:01:50 +03:00
DEVELOPMENT.md chore: replace Redis with Valkey and update configuration, docs, and session middleware 2026-08-11 13:53:23 +03:00
Dockerfile chore: update Rust version to 1.97.1 and adjust configuration error handling 2026-08-11 11:19:36 +03:00
README.md chore: replace Redis with Valkey and update configuration, docs, and session middleware 2026-08-11 13:53:23 +03:00
TODO.md chore: replace custom scripts with Docker Compose for PostgreSQL and Redis setup 2026-08-11 11:37:24 +03:00

Newsletter Email Service

A Rust-based newsletter email service with PostgreSQL backend and OpenTelemetry support.

Quick Start

  1. Start PostgreSQL and Valkey, then run the database migrations:

    docker compose up --detach --wait
    sqlx migrate run
    
  2. Run the application:

    TEST_LOG=true RUST_LOG=debug cargo run | bunyan
    

Stop the local services without deleting PostgreSQL data:

docker compose down

To discard the local database as well, run docker compose down --volumes.

Features

  • PostgreSQL database backend
  • Valkey-backed session storage
  • OpenTelemetry support via OpenObserve (optional)
  • Comprehensive test coverage
  • CI/CD pipeline with security audit

Documentation

  • Development Guide - Detailed setup instructions and development guidelines
  • CI/CD Pipeline - Information about our continuous integration and deployment process

Building for Production

Build a Docker image:

docker build --tag zero2prod --file Dockerfile .

License & Notes

  • Haven't decided on license yet...
  • This project was developed following the principles and practices taught in "Zero To Production In Rust" by Luca Palmieri.