Simple contact form to RSVP to a wedding. Written in Rust and powered by Rocket.rs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
wedding-rsvp-rs/README.md

2.8 KiB

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.