Simple contact form to RSVP to a wedding. Written in Rust and powered by Rocket.rs.
Go to file
Dennis 415d759fb6
Added validation of number of guests
If number of guests is 255 (which is the default value), no email will be sent
to the recepient. Most normal users have Javascript enabled, so their browser
should throw an error if the number of guests isn't filled out.
2019-10-13 12:08:23 +02:00
images Added screenshots and ToC to README 2019-08-31 14:06:45 +02:00
src Added validation of number of guests 2019-10-13 12:08:23 +02:00
templates Changed the form colors so that they are displayed the same in Webkit/Firefox 2019-09-14 14:17:58 +02:00
.gitignore First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00
Cargo.toml First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00
config.hjson.example Better error-handling, emails for not-attending, language strings for JS errors 2019-09-04 01:27:43 +02:00
LICENSE Added year & name to LICENSE and removed a line in the README 2019-08-31 14:45:17 +02:00
README.md Added new features to README. 2019-09-04 01:34:30 +02:00
Rocket.toml First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00

wedding-rsvp-rs

This Rust and 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

  • KISS: Not too many features and fields, no databases, no CAPTCHA.
  • 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

  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

Screenshots

Screenshot of homepage

Screenshot of homepage

Screenshot of thanks page

Screenshot of thanks page

Screenshot of spam protection page

Screenshot of spam protection

License

wedding-rsvp-rs is released under the MIT license. The HTML template is derived from Contact Form v1, which is released under the CC BY 3.0 license.