Skip to content

siddhantrao23/scoop

Repository files navigation

scoop

A simple clean newsletter delivery service in Rust. Done as a part of reading "Zero To Production In Rust", a book on API development using Rust.

Public Endpoints:

Endpoint Method
/ GET
/health_check GET
/login GET
/subscriptions GET/POST
/unsubscribe POST
/admin/dashboard GET
/admin/logout POST
/admin/newsletters GET/POST
/admin/password GET/POST

Features

  • Fault Tolerant: Best effort email delivery
  • Concurrent Proof: Retries will not trigger duplicate newsletter entries
  • Redis Store for fast session interface
  • Salient Tracing and Logging

Pre-requisites

  • Rust
  • Docker
./scripts/init_db.sh      # launch the postgres docker container
./scripts/init_redis.sh   # launch the redis docker container

Building

  1. Using cargo
cargo build
  1. Using the Dockerfile
docker build ./

ToDo

  • fix broken css rendering and file serving

Testing

cargo test

About

A newsletter delivery system in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published