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 |
- 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
- Rust
- Docker
./scripts/init_db.sh # launch the postgres docker container
./scripts/init_redis.sh # launch the redis docker container
- Using cargo
cargo build
- Using the Dockerfile
docker build ./
- fix broken css rendering and file serving
cargo test