wedding-rsvp-rs/README.md

48 lines
2.8 KiB
Markdown
Raw Normal View History

2019-08-31 10:22:52 +00:00
# wedding-rsvp-rs
2019-08-31 12:06:45 +00:00
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 (HTML) email based and does not include any CAPTCHA.
#### Content
* [Features](#features)
* [Installation](#installation)
* [Screenshots](#screenshots)
* [Screenshot of homepage](#screenshot-of-homepage)
* [Screenshot of thanks page](#screenshot-of-thanks-page)
* [Screenshot of spam protection page](#screenshot-of-spam-protection-page)
* [License](#license)
## Features
2019-08-31 12:06:45 +00:00
* **KISS**: Not too many features and fields, no databases, no CAPTCHA.
2019-08-31 12:06:45 +00:00
* **Completely (HTML) 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.
* **Separete emails for accepting/rejecting the invitation**: Guests who will attend will get a different e-mail from guests that will not attend.
* **Proper error handling for emails**: If an email cannot be sent, the website will always try to catch this error and inform the organizer of the wedding about the error and the reason of the error. He/she can act accordingly and manually contact the guest. The guest will get a nice landing page with information on how to contact the organizer.
* **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
2019-08-31 12:06:45 +00:00
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`
2019-08-31 12:06:45 +00:00
## Screenshots
#### Screenshot of homepage
![Screenshot of homepage](images/screenshot_wedding_rsvp_rs_1.jpg)
#### Screenshot of thanks page
![Screenshot of thanks page](images/screenshot_wedding_rsvp_rs_2.jpg)
#### Screenshot of spam protection page
![Screenshot of spam protection](images/screenshot_wedding_rsvp_rs_3.jpg)
## License
2019-08-31 12:06:45 +00:00
`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.