Skip to content

KunalSin9h/newsletter

Repository files navigation

📬 Newsletter

Self hosted Email Newsletter written in Rust, only for adding email subscription page to your blog - nothing more, nothing less

Powered by

NeonDB Logo     MeltCD Logo

Demo

It is being used in my blog page

image

Requirements

Setup

Important

If you want to run the project using docker, then see these instructions here

# clone the project
git clone https://github.com/kunalsin9h/newsletter.git

# change directory
cd newsletter

# install required dependencies

# install sqlx cli
cargo install sqlx-cli --no-default-features --features postgres

# install livejq cli
cargo install livejq

# run database

make postgres_up # or run the script in ./scripts/init_db.sh
make redis_up    # or run the script in ./scripts/init_redis.sh


# run the app
cargo run | livejq

The application will be served on the specified port on the ./configuration/base.yaml file. (default: 5000)

API Docs

Note

The default username is admin and the default password is admin You must change the password from the admin dashboard

You have to update the email_client section in the ./configuration/local.yaml in order to use the email client

  1. Add a new subscriber

To add a new subscriber send a x-www-form-urlencoded POST request to http://localhost:5000/subscription with name and email fields.

Then the subscriber will receive a confirmation email, which will contain a link to confirm the subscription.

  1. ... TODO...

Story

image

The project was build while reading above book, From Zero to Production in Rust.

I have completed the project to use it on my own blog (here)

Do you thinking, how simple the project idea is?

I recommend you to take a look at the source and test, good luck!