# wedding-rsvp-rs

This [Rust](https://www.rust-lang.org/) and [Rocket.rs](https://rocket.rs) based, fully responsive website is a simple contact form to RSVP to a wedding. It was meant to be simple to use, since a lot of non-tech-savvy people will usually attend a wedding as well ;-). Therefore, it is completely email based and does not include any CAPTCHA.

## Features
* **KISS**: Not too many features and fields, no databases, no CAPTCHA.
* **Completely email based**: The guest will receive a confirmation with additional information on top of the invite he got. Attached to this email, an ICS file enables the user to directly add the wedding into his calendar.
* **Configurable, multi-language strings**: All language strings can be defined in `config.hjson`. Since this website assumes that a different FQDN is used for every language, the mapping between TLDs and languages must be configured in `config.hjson` as well. 
* **IP based spam protection**: As mentioned before, this website does not include CAPTCHA to ease usability. There is, however, a small protection so that one IP can only send an email every X seconds. Here, X can be configured in `config.hjson`. 

## Installation
1. `git clone https://git.dennispotter.eu/Dennis/wedding-rsvp-rs.git`
2. `cd wedding-rsvp-rs`
3. `cp config.hjson.example config.hjson`
4. Add your SMTP credentials to `config.hjson` adapt the language strings to your liking
5. `cargo run`

## License
`wedding-rsvp-rs` is released under the [MIT license](LICENSE). The HTML template is derived from [Contact Form v1](https://colorlib.com/wp/template/contact-form-v1/), which is released under the [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) license.

